Pyxel을 사용한 2D 게임 시작하기 (파트 2): 게임 화면 만들기
Source: Dev.to
게임 화면 만들기
이 장에서는 Pyxel을 사용해 기본 게임 화면을 만들겠습니다.
먼저 작업 폴더를 만들고 main.py라는 파일을 추가합니다.
폴더 구조는 다음과 같아야 합니다:
working_folder/
└ main.py # 프로그램을 작성할 파일
모든 코드는 main.py 안에 작성됩니다. 먼저 Pyxel 엔진과 필요한 모듈들을 임포트합니다.
import pyxel # Pyxel 게임 엔진
import math # 수학 모듈
import random # 난수 모듈
W, H = 160, 120 # 게임 화면의 너비와 높이
Game 클래스
# Game
class Game:
def __init__(self):
"""Constructor"""
# Start Pyxel
pyxel.init(W, H, title="Hello, Pyxel!!")
pyxel.run(self.update, self.draw)
def update(self):
"""Update logic"""
pass
def draw(self):
"""Drawing logic"""
pyxel.cls(0)
생성자는 pyxel.init()을 호출해 화면 너비, 높이, 창 제목을 지정하여 게임 화면을 초기화하고, pyxel.run(self.update, self.draw)으로 메인 루프를 시작합니다.
self.update()는 캐릭터 이동 및 충돌 감지를 처리합니다.self.draw()는 캐릭터와 그래픽을 렌더링합니다.
배경 색상
draw() 메서드의 시작 부분에서 단일 색상으로 화면을 지웁니다.
0부터 15까지의 숫자를 pyxel.cls()에 전달하면 해당 색으로 전체 화면이 채워집니다.
def draw(self):
"""Drawing logic"""
pyxel.cls(0) # 색상 0으로 화면 채우기
해당 색상 번호는 Pyxel 색상 팔레트를 참고하세요.
전체 코드
import pyxel # Pyxel game engine
import math # Math module
import random # Random number module
W, H = 160, 120 # Game screen width and height
# Game
class Game:
def __init__(self):
"""Constructor"""
# Start Pyxel
pyxel.init(W, H, title="Hello, Pyxel!!")
pyxel.run(self.update, self.draw)
def update(self):
"""Update logic"""
pass
def draw(self):
"""Drawing logic"""
pyxel.cls(0)
def main():
"""Main entry point"""
Game()
if __name__ == "__main__":
main()
이 프로그램을 실행하면 색상 0으로 지워진 빈 화면이 표시됩니다.
읽어 주셔서 감사합니다. 다음 파트에서 뵙겠습니다!