[Python] Pyxel로 게임을 만드는 첫걸음.
입문
Pyxel은 Python을 위한 레트로 게임 엔진입니다.
쉽게 게임을 만들 수 있어서 예전에는 많이 했지만 요즘은 잘 안 부딪혀서 기억을 완전히 잃어버렸어요.
나는 오랜만에 놀아서 기억을 회복하고 싶다.
또한 상세하고 정확한 지식, 그리고 설치 방법 등은 아래의 링크를 보십시오.
https://github.com/kitao/pyxel/blob/master/README.ja.md
1 최소 코드
우선, 필요한 최소한의 코드는 대체로 다음과 같다.# まずはpyxelをインポート
import pyxel
# ゲーム全体を表すクラスを作り、その中でゲームの内容を定義する
class App:
def __init__(self):
# 画面サイズ(幅w, 高さh)を指定する
pyxel.init(100, 100)
# とりあえず変数を作っておく
# 今は特に意味はない
self.x = 0
# フレーム更新時に実行する更新関数と描画関数を登録する
# 2つの関数が時間ごとに連続で実行されるイメージ
pyxel.run(self.update, self.draw)
def update(self):
# 1フレームごとにxが1増えていく
# 今は特に意味はない
self.x += 1
def draw(self):
# 画面をクリアする色を指定する(0〜15)
# 1フレームごとに画面が色0(=黒)でクリアされる
# 今は特に意味はない
pyxel.cls(0)
# クラスのインスタンスを生成、ゲームを開始
App()
코드에 대한 설명은 모두 설명에 나와 있습니다.
실행 결과는 이렇습니다. 지금은 칠흑 같은 화면만 표시됩니다.
그림 두 점 보이기
그러면 화면이 나오지만 여기서 그림은 움직일 수 없고 조작할 수 없고 게임이 될 수 없다는 것을 나타낸다.
우선 그림을 표시하는 곳부터 시작한다.
드로잉 디스플레이는 드로잉 함수draw
에 설명되어 있습니다.
간단한 사각형을 만들어 보세요. def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
pyxel.rect(10, 10, 10, 10, 9)
(이전에 쓴 댓글 생략)
사각형의 왼쪽 위 구석에 있는 좌표와 너비, 높이 및 색상을 지정하여 사각형을 그립니다.
좌표는 화면의 왼쪽 위(0,0)이고 오른쪽으로 가면 x가 증가하고 아래로 가면 y가 증가하는 구조이다.
이 예에서 화면 사이즈는 100이다×100이니까.
왼쪽 위 (0,0) 오른쪽 위 (100,0)
왼쪽 아래 (0100) 오른쪽 아래 (100100)
그렇습니다.
실행 결과.
오른쪽으로 10, 아래로 10을 내려가면 너비 10, 높이 10, 색깔 9(= 주황색)의 사각형을 그릴 수 있다.
그림 세 폭
이어서 이 사각형을 움직여 보세요.
기본적으로 각 프레임은 변수를 변경하고 이 변수를 드로잉 함수의 매개변수에 적용합니다.
지금까지 사용되지 않았지만 업데이트 함수update
에서 프레임당 1씩 증가하는 변수 x가 있습니다.나는 이것을 사각형의 매개 변수로 사용해 보았다. def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
# 変数xを幅に設定
pyxel.rect(10, 10, self.x, 10, 9)
아마 사각형의 폭이 조금씩 늘어날 거예요.
실행 결과.
사각형의 너비를 하나씩 늘릴 수 있다.
4 작업
이동화일 뿐이야. 애니메이션일 뿐이야.유저의 조작을 화면에 반영하세요.
우선 키보드의 조작부터 시작한다.btn
함수는 지정한 키를 계속 누르는지 확인합니다.키의 종류는 KEY_○○
와 같은 상수로 지정됩니다.
업데이트 함수update
에서 변수 x가 1 증가합니다.키의 조작에 따라 이것을 바꾸자. def update(self):
# 右キーを押している間はxが増える
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
# 押していなければ1になる
else:
self.x = 1
이렇게 해서 키보드의 오른쪽이 눌리지 않으면 사각형의 너비는 1이다
오른쪽이 밀렸을 때 너비가 하나하나 길어졌다.
그리고 마우스의 동작을 반영합니다. def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
# マウスカーソルの座標を取得
mx = pyxel.mouse_x
my = pyxel.mouse_y
# 新しく四角形を作成
# 左上の座標をマウスカーソルの座標と一致させる
pyxel.rect(mx, my, 5, 5, 6)
mouse_x
, mouse_y
마우스 커서 좌표를 가져옵니다.
그리고 이 좌표를 새로 만든 사각형의 왼쪽 위에 있는 좌표에 맞춥니다.
이제 마우스 커서와 같은 위치에 사각형을 그릴 수 있습니다.
마우스를 움직이면 물색의 사각형이 형성된다.
키보드로 조작하면 침략자 게임, 워크맨, 마우스로 조작하면 블록을 파괴하는 물건을 만들 수 있다.
5 끝
전체 코드.간단하네.import pyxel
class App:
def __init__(self):
pyxel.init(100, 100)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
else:
self.x = 1
def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
mx = pyxel.mouse_x
my = pyxel.mouse_y
pyxel.rect(mx, my, 5, 5, 6)
App()
잠시 기억을 잃은 자신의 재활 훈련을 위해 기초 중의 기초를 써 보았다.
이번에는 안 썼지만 픽셀이 걸개그림을 덧붙인 편집이 큰 특징이다.이것을 능숙하게 사용하면 이번에 쓴 간단한 코드에 고기를 붙이면 그에 맞는 게임을 할 수 있다.
게임을 만드는 것은 재미있을 뿐만 아니라 판정, 중력, 상태 변수 등 프로그래밍에서 중요한 개념도 배울 수 있어 의미가 있다.앞으로도 조금씩 배워서 게임 같은 걸 만들고 싶어요.
(2020/12/19 추기) 코드가 지적되었다.댓글을 보세요.
Reference
이 문제에 관하여([Python] Pyxel로 게임을 만드는 첫걸음.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro_underclass/items/c187757987e37b9ba7da
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선, 필요한 최소한의 코드는 대체로 다음과 같다.
# まずはpyxelをインポート
import pyxel
# ゲーム全体を表すクラスを作り、その中でゲームの内容を定義する
class App:
def __init__(self):
# 画面サイズ(幅w, 高さh)を指定する
pyxel.init(100, 100)
# とりあえず変数を作っておく
# 今は特に意味はない
self.x = 0
# フレーム更新時に実行する更新関数と描画関数を登録する
# 2つの関数が時間ごとに連続で実行されるイメージ
pyxel.run(self.update, self.draw)
def update(self):
# 1フレームごとにxが1増えていく
# 今は特に意味はない
self.x += 1
def draw(self):
# 画面をクリアする色を指定する(0〜15)
# 1フレームごとに画面が色0(=黒)でクリアされる
# 今は特に意味はない
pyxel.cls(0)
# クラスのインスタンスを生成、ゲームを開始
App()
코드에 대한 설명은 모두 설명에 나와 있습니다.실행 결과는 이렇습니다. 지금은 칠흑 같은 화면만 표시됩니다.
그림 두 점 보이기
그러면 화면이 나오지만 여기서 그림은 움직일 수 없고 조작할 수 없고 게임이 될 수 없다는 것을 나타낸다.
우선 그림을 표시하는 곳부터 시작한다.
드로잉 디스플레이는 드로잉 함수draw
에 설명되어 있습니다.
간단한 사각형을 만들어 보세요. def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
pyxel.rect(10, 10, 10, 10, 9)
(이전에 쓴 댓글 생략)
사각형의 왼쪽 위 구석에 있는 좌표와 너비, 높이 및 색상을 지정하여 사각형을 그립니다.
좌표는 화면의 왼쪽 위(0,0)이고 오른쪽으로 가면 x가 증가하고 아래로 가면 y가 증가하는 구조이다.
이 예에서 화면 사이즈는 100이다×100이니까.
왼쪽 위 (0,0) 오른쪽 위 (100,0)
왼쪽 아래 (0100) 오른쪽 아래 (100100)
그렇습니다.
실행 결과.
오른쪽으로 10, 아래로 10을 내려가면 너비 10, 높이 10, 색깔 9(= 주황색)의 사각형을 그릴 수 있다.
그림 세 폭
이어서 이 사각형을 움직여 보세요.
기본적으로 각 프레임은 변수를 변경하고 이 변수를 드로잉 함수의 매개변수에 적용합니다.
지금까지 사용되지 않았지만 업데이트 함수update
에서 프레임당 1씩 증가하는 변수 x가 있습니다.나는 이것을 사각형의 매개 변수로 사용해 보았다. def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
# 変数xを幅に設定
pyxel.rect(10, 10, self.x, 10, 9)
아마 사각형의 폭이 조금씩 늘어날 거예요.
실행 결과.
사각형의 너비를 하나씩 늘릴 수 있다.
4 작업
이동화일 뿐이야. 애니메이션일 뿐이야.유저의 조작을 화면에 반영하세요.
우선 키보드의 조작부터 시작한다.btn
함수는 지정한 키를 계속 누르는지 확인합니다.키의 종류는 KEY_○○
와 같은 상수로 지정됩니다.
업데이트 함수update
에서 변수 x가 1 증가합니다.키의 조작에 따라 이것을 바꾸자. def update(self):
# 右キーを押している間はxが増える
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
# 押していなければ1になる
else:
self.x = 1
이렇게 해서 키보드의 오른쪽이 눌리지 않으면 사각형의 너비는 1이다
오른쪽이 밀렸을 때 너비가 하나하나 길어졌다.
그리고 마우스의 동작을 반영합니다. def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
# マウスカーソルの座標を取得
mx = pyxel.mouse_x
my = pyxel.mouse_y
# 新しく四角形を作成
# 左上の座標をマウスカーソルの座標と一致させる
pyxel.rect(mx, my, 5, 5, 6)
mouse_x
, mouse_y
마우스 커서 좌표를 가져옵니다.
그리고 이 좌표를 새로 만든 사각형의 왼쪽 위에 있는 좌표에 맞춥니다.
이제 마우스 커서와 같은 위치에 사각형을 그릴 수 있습니다.
마우스를 움직이면 물색의 사각형이 형성된다.
키보드로 조작하면 침략자 게임, 워크맨, 마우스로 조작하면 블록을 파괴하는 물건을 만들 수 있다.
5 끝
전체 코드.간단하네.import pyxel
class App:
def __init__(self):
pyxel.init(100, 100)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
else:
self.x = 1
def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
mx = pyxel.mouse_x
my = pyxel.mouse_y
pyxel.rect(mx, my, 5, 5, 6)
App()
잠시 기억을 잃은 자신의 재활 훈련을 위해 기초 중의 기초를 써 보았다.
이번에는 안 썼지만 픽셀이 걸개그림을 덧붙인 편집이 큰 특징이다.이것을 능숙하게 사용하면 이번에 쓴 간단한 코드에 고기를 붙이면 그에 맞는 게임을 할 수 있다.
게임을 만드는 것은 재미있을 뿐만 아니라 판정, 중력, 상태 변수 등 프로그래밍에서 중요한 개념도 배울 수 있어 의미가 있다.앞으로도 조금씩 배워서 게임 같은 걸 만들고 싶어요.
(2020/12/19 추기) 코드가 지적되었다.댓글을 보세요.
Reference
이 문제에 관하여([Python] Pyxel로 게임을 만드는 첫걸음.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro_underclass/items/c187757987e37b9ba7da
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
pyxel.rect(10, 10, 10, 10, 9)
이어서 이 사각형을 움직여 보세요.
기본적으로 각 프레임은 변수를 변경하고 이 변수를 드로잉 함수의 매개변수에 적용합니다.
지금까지 사용되지 않았지만 업데이트 함수
update
에서 프레임당 1씩 증가하는 변수 x가 있습니다.나는 이것을 사각형의 매개 변수로 사용해 보았다. def draw(self):
pyxel.cls(0)
# 四角形を描画、引数は(左上の点の座標x, y, 幅w, 高さh, 色)
# 変数xを幅に設定
pyxel.rect(10, 10, self.x, 10, 9)
아마 사각형의 폭이 조금씩 늘어날 거예요.실행 결과.
사각형의 너비를 하나씩 늘릴 수 있다.
4 작업
이동화일 뿐이야. 애니메이션일 뿐이야.유저의 조작을 화면에 반영하세요.
우선 키보드의 조작부터 시작한다.btn
함수는 지정한 키를 계속 누르는지 확인합니다.키의 종류는 KEY_○○
와 같은 상수로 지정됩니다.
업데이트 함수update
에서 변수 x가 1 증가합니다.키의 조작에 따라 이것을 바꾸자. def update(self):
# 右キーを押している間はxが増える
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
# 押していなければ1になる
else:
self.x = 1
이렇게 해서 키보드의 오른쪽이 눌리지 않으면 사각형의 너비는 1이다
오른쪽이 밀렸을 때 너비가 하나하나 길어졌다.
그리고 마우스의 동작을 반영합니다. def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
# マウスカーソルの座標を取得
mx = pyxel.mouse_x
my = pyxel.mouse_y
# 新しく四角形を作成
# 左上の座標をマウスカーソルの座標と一致させる
pyxel.rect(mx, my, 5, 5, 6)
mouse_x
, mouse_y
마우스 커서 좌표를 가져옵니다.
그리고 이 좌표를 새로 만든 사각형의 왼쪽 위에 있는 좌표에 맞춥니다.
이제 마우스 커서와 같은 위치에 사각형을 그릴 수 있습니다.
마우스를 움직이면 물색의 사각형이 형성된다.
키보드로 조작하면 침략자 게임, 워크맨, 마우스로 조작하면 블록을 파괴하는 물건을 만들 수 있다.
5 끝
전체 코드.간단하네.import pyxel
class App:
def __init__(self):
pyxel.init(100, 100)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
else:
self.x = 1
def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
mx = pyxel.mouse_x
my = pyxel.mouse_y
pyxel.rect(mx, my, 5, 5, 6)
App()
잠시 기억을 잃은 자신의 재활 훈련을 위해 기초 중의 기초를 써 보았다.
이번에는 안 썼지만 픽셀이 걸개그림을 덧붙인 편집이 큰 특징이다.이것을 능숙하게 사용하면 이번에 쓴 간단한 코드에 고기를 붙이면 그에 맞는 게임을 할 수 있다.
게임을 만드는 것은 재미있을 뿐만 아니라 판정, 중력, 상태 변수 등 프로그래밍에서 중요한 개념도 배울 수 있어 의미가 있다.앞으로도 조금씩 배워서 게임 같은 걸 만들고 싶어요.
(2020/12/19 추기) 코드가 지적되었다.댓글을 보세요.
Reference
이 문제에 관하여([Python] Pyxel로 게임을 만드는 첫걸음.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro_underclass/items/c187757987e37b9ba7da
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def update(self):
# 右キーを押している間はxが増える
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
# 押していなければ1になる
else:
self.x = 1
def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
# マウスカーソルの座標を取得
mx = pyxel.mouse_x
my = pyxel.mouse_y
# 新しく四角形を作成
# 左上の座標をマウスカーソルの座標と一致させる
pyxel.rect(mx, my, 5, 5, 6)
전체 코드.간단하네.
import pyxel
class App:
def __init__(self):
pyxel.init(100, 100)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
if(pyxel.btn(pyxel.KEY_RIGHT)):
self.x += 1
else:
self.x = 1
def draw(self):
pyxel.cls(0)
pyxel.rect(10, 10, self.x, 10, 9)
mx = pyxel.mouse_x
my = pyxel.mouse_y
pyxel.rect(mx, my, 5, 5, 6)
App()
잠시 기억을 잃은 자신의 재활 훈련을 위해 기초 중의 기초를 써 보았다.이번에는 안 썼지만 픽셀이 걸개그림을 덧붙인 편집이 큰 특징이다.이것을 능숙하게 사용하면 이번에 쓴 간단한 코드에 고기를 붙이면 그에 맞는 게임을 할 수 있다.
게임을 만드는 것은 재미있을 뿐만 아니라 판정, 중력, 상태 변수 등 프로그래밍에서 중요한 개념도 배울 수 있어 의미가 있다.앞으로도 조금씩 배워서 게임 같은 걸 만들고 싶어요.
(2020/12/19 추기) 코드가 지적되었다.댓글을 보세요.
Reference
이 문제에 관하여([Python] Pyxel로 게임을 만드는 첫걸음.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiro_underclass/items/c187757987e37b9ba7da텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)