2014-01-15 3 views
1

파이 게임에서 게임을하고 있는데 게임을 실행하려고 할 때 아무 일도 일어나지 않습니다. 블랙 박스가 나타나지만 전혀 표시되지 않습니다. 또한 파이썬 쉘이 전혀 오류를 표시하지 않는다는 사실을 알려주는 버그가 있습니다. 주 파일의 코드는 다음과 같습니다.PyGame : Nothing Happens

import pygame 
import sys 
import random 
import pygame.mixer 
import math 
from constants import * 
from player import * 

class Game(): 

    def __init__(self): 

     #States (Not country states) 
     self.game_state = STATE_INGAME 

     #State variables 
     #self.stateMenu = 

     #Screen 
     size = SCREEN_WIDTH, SCREEN_HEIGHT 
     self.screen = pygame.display.set_mode(size) 
     pygame.display.set_caption('WIP') 
     self.screen_rect = self.screen.get_rect() 

     # Player 
     self.player = Player(SCREEN_WIDTH/2, SCREEN_HEIGHT/2) 

    def run(self): 

     clock = pygame.time.Clock() 

     if self.game_state == STATE_INGAME: 

      for event in pygame.event.get(): 
       if event.type == pygame.QUIT: 
        pygame.quit() 
        sys.exit() 

      self.player_move() 
      self.player.update() 
      self.player.render(self.screen) 

     clock.tick(100) 

    def player_move(self): 

     # move player and check for collision at the same time 
     self.player.rect.x += self.player.velX 
     self.player.rect.y += self.player.velY 

Game().run() 

플레이어 파일을 여러 번 확인했지만 오류가 없습니다. 내가 볼 수있는 것이 아닙니다. 도와 주셔서 감사합니다!

def run(self): 

    clock = pygame.time.Clock() 
    while True: 
     if self.game_state == STATE_INGAME: 
      for event in pygame.event.get(): 
       if event.type == pygame.QUIT: 
        pygame.quit() 
        sys.exit() 
      self.player_move() 
      self.player.update() 
      self.player.render(self.screen) 

     clock.tick(100) 

답변

0

당신은 while-loop이 필요합니다. 못 봤어. 이것을 지적 해 주셔서 감사합니다. 때로는 추가 할 부분을 잊어 버리는 경우가 있습니다./
+0

제기랄 : – GhostFrag1

+0

답변을 다시 한 번 감사드립니다. 하지만 다른 문제는 플레이어가 움직이지 않는다는 것입니다 : (표시되지만 전혀 움직이지는 않습니다.) 개인 채팅에서 코드를 제공 할 수 있습니다. 다시 감사합니다. – GhostFrag1

+0

여기에 코드를 게시하십시오. – unutbu