[Python] Pyxel로 게임 만들기 - 편집기 사용하기 -

저번 보도
[Python] Pyxel로 게임을 만드는 첫걸음.

입문


Pyxel은 점을 그릴 수 있는 편집기를 제공합니다.
편집기의 사용 방법을 소개합니다.

편집기 시작


다음 명령을 수행합니다.
pyxeleditor [Pyxelリソースファイル]
리소스 파일 형식은 .pyxres 입니다.
생략하면 새로 만듭니다.

그림을 그리다


편집은 이런 화면입니다.

오른쪽 상자는 그림을 그릴 수 있는 영역 (이미지 라이브러리) 전체입니다.
영상은행 세 장을 준비했습니다.번호는 0에서 2입니다. 오른쪽 아래 상자에서 전환합니다.
왼쪽 상자는 전체 이미지 라이브러리에서 선택한 16×16개 구역의 확대도.
왼쪽 아래 상자에서 그릴 색상 등을 선택할 수 있습니다.
따라서 우선 오른쪽 테두리 중에서 어느 범위에서 그림을 그릴지 선택한 다음 왼쪽 테두리로 실제 쓴다.
우선 마음대로 그림을 그려서 보관하세요.

그림 보이기


게임 화면에 편집된 그림을 표시하기 위해서는 자원을 읽고 그려야 한다.
아래와 같이 코드를 쓰십시오.
import pyxel

class App:
    def __init__(self):
        pyxel.init(100, 100)

        # リソースファイルの読み込み
        pyxel.load("sample.pyxres")

    def run(self):
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)

        # イメージの描画:(x, y, img, u, v, w, h, [colkey])
        # xy:コピー先の座標、img:イメージバンクの番号
        # uv:コピー元の座標、wh:コピー範囲、colkey:透明色
        pyxel.blt(0, 0, 0, 0, 0, 16, 16, 0)

App().run()
blt의 매개 변수가 많군요.
먼저 x, y 이미지를 게임 화면의 어느 위치로 복사합니까?이번에는 (0,0) 이기 때문에 왼쪽 상단으로 복사됩니다.img는 몇 번째 이미지 은행을 사용합니다.0이면 첫 번째.u, v는 이미지 라이브러리의 좌표입니다.복제할 위치를 선택합니다.w, h는 복제 범위의 폭과 높이입니다.이번 (u,v,w,h)(0,0,16,16) 이기 때문에 왼쪽 상단부터 16×16개의 크기를 복사했습니다.그 결과 왼쪽 상단에 흰색 원을 그렸다.
나는 매개 변수의 값을 바꾸는 것이 비교적 이해하기 쉽다고 생각한다.
import pyxel

class App:
    def __init__(self):
        pyxel.init(100, 100)

        pyxel.load("sample.pyxres")

    def run(self):
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)

        pyxel.blt(0, 0, 0, 0, 0, 16, 16, 0)
        pyxel.blt(32, 48, 0, 16, 0, 16, 16, 0)
        pyxel.blt(64, 16, 0, 32, 16, 16, 16, 0)

App().run()

배경 그리기


배열 맵 편집기를 사용하여 배경을 작성합니다.

배경은 이미지 편집기에 붙여넣은 이미지를 통해 만들어집니다.
우선, 오른쪽 아래 상자에 이미지 은행의 내용을 표시합니다.아까 그린 그림이 뜨던데.여기서 복사할 범위를 선택합니다.지금 왼쪽 위 8.×8이 선택되었습니다.
그런 다음 오른쪽 위 상자에는 배경을 그릴 수 있는 전체 영역(배열 맵)이 표시됩니다.전체 크기 256×256.편집할 영역을 선택합니다.
왼쪽 상자에서 지도에서 선택한 범위 16×16을 표시합니다.
배열지도 1칸 중 이미지 라이브러리 영역 8×8 진입.
또 타일 지도 8장을 준비했는데 번호는 0~7이다.왼쪽 아래 모서리의 TILEMAP에서 전환합니다.
초기 상태에서 영상은행의 왼쪽 상단에 있는 그림이 가득 찼기 때문에 적당히 바꾸자.

배경 표시

import pyxel

class App:
    def __init__(self):
        # 画面サイズをちょっと変更
        pyxel.init(128, 128)

        pyxel.load("sample.pyxres")

    def run(self):
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)

        # 背景の描画:(x, y, tm, u, v, w, h, colkey)
        # xy:コピー先の座標、tm:タイルマップの番号
        # uv:コピー元の座標、wh:コピー範囲、col透明色
        pyxel.bltm(0, 0, 0, 0, 0, 16, 16, 0)

        pyxel.blt(0, 0, 0, 0, 0, 16, 16, 0)
        pyxel.blt(32, 48, 0, 16, 0, 16, 16, 0)
        pyxel.blt(64, 16, 0, 32, 16, 16, 16, 0)

App().run()
bltm를 사용하여 배경을 그립니다.
매개변수는 blt와 유사하므로 (u, v, w, h) 배열 맵 편집기의 좌표를 지정합니다.점 128×128개지만 지도를 평평하게 깔아놓은 구역은 16이다×십육.

배경이 표시됩니다.근데 좀 징그러워.

참고 자료


https://github.com/kitao/pyxel/blob/master/README.ja.md
픽셀로 파크맨 같은 게임의 전편을 만들도록 하겠습니다.
Pyxel로 창고번호 만들기 게임(전편)

좋은 웹페이지 즐겨찾기