• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

어디서 잘못된걸까요..

20.11.25 06:50 작성 조회수 140

0

이렇게 했는데 검은창만 떠요....이전 강의에서 실행하면 제대로 떴는데....

import os
import pygame
##############################################
#기본 초기화(반드시 해야 하는 것들)
pygame.init() 

#화면 크기 설정
screen_width = 640 #가로 크기
screen_height = 480 #세로 크기
screen = pygame.display.set_mode((screen_width, screen_height))

#화면 타이틀 설정
pygame.display.set_caption("Nado Pang"

#FPS
clock = pygame.time.Clock()
##############################################

# 1. 사용자 게임 초기화 (배경 화면, 게임 이미지, 좌표, 속도, 폰트 등)
current_path = os.path.dirname(__file__#현재 파일의 위치 반환
image_path = os.path.join(current_path, "images"#image 폴더 위치 반환

#배경 만들기
background = pygame.image.load(os.path.join(image_path, "background.png"))

# 스테이지 만들기
stage = pygame.image.load(os.path.join(image_path, "stage.png"))
stage_size = stage.get_rect().size
stage_height = stage_size[1#스테이지 높이 위에 캐릭터를 두기 위해 사용

# 캐릭터 만들기
character = pygame.image.load(os.path.join(image_path, "character.png"))
character_size = character.get_rect().size
character_width = character_size[0]
character_height = character_size[1]
character_x_pos = (screen_width / 2) - (character_width / 2)
character_y_pos = screen_height - character_height - stage_height

#캐릭터 이동 방향
character_to_x = 0

#캐릭터 이동 속도
character_speed = 5

running = True 
while running:
    dt = clock.tick(30


# 2. 이벤트 처리 (키보드, 마우스 등)
    for event in pygame.event.get(): 
        if event.type == pygame.QUIT: 
            running = False 

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                character_to_x -= character_speed
            elif event.key == pygame.K_RIGHT:
                character_to_x += character_speed
            elif event.key == pygame.K_SPACE:
                pass

        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                character_to_x = 0
    

# 3. 게임 캐릭터 위치 정의
character_x_pos += character_to_x

if character_x_pos < 0:
    character_x_pos = 0
elif character_x_pos > screen_width - character_width:
    character_x_pos = screen_width - character_width 


# 4. 충돌 처리
   

# 5. 화면에 그리기
    screen.blit(background, (00))
    screen.blit(stage, (0, screen_height - stage_height))
    screen.blit(character, (character_x_pos, character_y_pos))
   
    pygame.display.update() 

#pygame 종료
pygame.quit()

답변 1

답변을 작성해보세요.

0

uki020226님의 프로필

uki020226

2021.03.10

# 3. 게임 캐릭터 위치 정의
이후 부터, while 문 바깥에 있어요. 탭으로 넣어봐요.