Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- frozen lake
- 아무도 없는 숲속에서
- 매트로폴리탄
- 어른의 행복은 조용하다
- 시집
- 트렌드코리아2025
- Python
- 나는 스물일곱 2등 항해사입니다.
- comfyui
- Ai
- 나는 매트로폴리탄 미술관 경비원입니다.
- openAI
- 부에노비스타 소셜클럽
- gymnasium
- 게임개발
- 운석 피하기 게임
- 인생의 해상도
- pygame
- 고양이발 살인사건
- 황선엽
- 단어가 품은 세계
- 숨결이 바람이 될 때
- 운석피하기 게임
- Stable diffusion
- 에르난 디아스
- Gym
- 쿠바전통음악
- 타이핑 몬스터
- 타이핑좀비
- 타자연습게임
Archives
- Today
- Total
스푸79 기록 보관소
운석 피하기 게임 개발(2)- 기본화면 (feat. ChatGPT) 본문
pygame으로 운석 피하기 게임은 ChatGPT와 함께할 생각이다.
느낌상 거의 ChatGPT가 다 작성해 줄 것 같은 느낌이 든다.
화면설계에 따라 800 x 800 사이즈 pygame 코드로 창을 만들어 달라고 요청했다.
답변 받은 코드를 복사해서 실행해 보았다.
보통 pygame 예제가 main class를 만들지 않고 이렇게 작성한 예시가 많은 것 같다.
간단한 게임이라면 위의 코드로 충분히 커버가 되지만
클래스로 기본 화면을 만들어 두지 않으면 여러 개의 다른 파일과 연계할 때 문제가 있을 수 있다.
ChatGPT님께서 작성해 주신 코드를 아래와 같이 수정을 했다.
추가적로 윈도우 창에 아이콘 표시도 넣어 보았다.
게임이 실행되는 위치에 따라 상대 경로 문제로 이미지파일을 못 찾는 문제를 사전 방지하기 위해
os.path.dirname 을 이용하여 현재 .py가 실행되는 위치(=게임기본경로)를 가져오도록 처리했다.
import os
GAME_DIR = os.path.dirname(os.path.abspath(__file__))
전체코드
import pygame
import sys
import os
# .py 실행하는 위치에 따라 게임 경로를 가져와서 image를 못찾는 문제를 해결하기 위해 처리
GAME_DIR = os.path.dirname(os.path.abspath(__file__))
class Main():
def __init__(self):
self.screen = pygame.display.set_mode((800, 800))
pygame.display.set_caption("Meteor Dodger")
# 게임 화면 창에 아이콘 추가
icon = pygame.image.load(GAME_DIR + "/meteor_dodger.ico")
pygame.display.set_icon(icon)
def play(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
self.screen.fill((0, 0, 0))
pygame.display.flip()
if __name__ == "__main__":
#게임 화면 실행인 경우 gameMain 객체 생성 후 play() 메서드 호출 처리
gameMain = Main()
gameMain.play()
윈도우 아이콘을 설정해 두면 아래와 같이 작업 표시줄에서 표시가 된다.
VSCODE에 Explorer 창이다.
01.basic 폴더를 하나 별도로 만들었다.
포스트가 올릴때마다 02, 03, .. 넘버를 붙여서 폴더를 생성하면서 완성해 갈 예정이다.
아이콘이 포함된 소스코드를 업로드한다.
'게임공작소' 카테고리의 다른 글
운석 피하기 게임 개발(6)- 운석 처리(1) (1) | 2024.08.26 |
---|---|
운석 피하기 게임 개발(5)- 배경 넣기(feat. ChatGPT) (0) | 2024.08.25 |
운석 피하기 게임 개발(4)- 전역변수 설정 (0) | 2024.08.23 |
운석 피하기 게임 개발(3)- 움직임과 Frame (feat. ChatGPT) (1) | 2024.08.21 |
운석 피하기 게임 개발(1)- 화면설계 (1) | 2024.08.18 |