0
한 선수가 점수 3을 치면 내 Game 화면을 Game Over Screen으로 변경하려고합니다. 내 pong 파일에 다음과 같은 내용이 있습니다. Gameover_state는 전역 변수입니다. 화면은 다른 변경하는 방법을 제어 내 화면 파일에서 화면 변경 특정 점수를 치기 후
def main():
while running:
#Code and event based things
#if the score reaches 3, then the game is over
if player_paddle.score == 3 or ai_paddle.score == 3:
gameover_state = True
, 내 Gamestate 화면이 있습니다
class GameScene(SceneBase):
def __init__(self):
SceneBase.__init__(self)
def ProcessInput(self, events, pressed_keys):
for event in events:
if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN:
# Move to the next scene when the user pressed Enter
self.SwitchToScene(GameOverScene())
if event.type == pygame.KEYUP:
print("You are hitting up!")
print(self.next)
def Update(self):
#pongtry4.main()
if pongtry4.gameover_state == True:
self.SwitchToScene(GameOverScene())
pongtry4.main()
def Render(self, screen):
# The game scene is just a blank blue screen
#screen.fill((0, 0, 255))
pass
나는 디버깅을 시도하고 내 gameover_state 결국 후 true를 반환하거나 인공 지능 또는 플레이어 3을 얻습니다. 그러나 gamestate는 화면에서 게임으로 바뀌지 않습니다. 문제는 pongtry4.main() 또는 다른 것을 호출하는 순서입니까? 감사. 당신이 할 수있는 일
다른 변수에 값을 표시하고 코드의 일부를 실행하려면'print()'를 사용하십시오. 코드에서 어떤 일이 벌어지고 있는지 보도록 도와줍니다. – furas
우리는 프로그램을 복사, 실행 및 테스트 할 수있는 [최소한의 완전하고 검증 가능한 예] (https://stackoverflow.com/help/mcve)로 바꾸어줌으로써 우리를 도와야합니다. 그렇지 않으면 방법을 이해하는 것이 어렵거나 불가능합니다. 귀하의 코드가 작동합니다. – skrx
이전 질문에서 코드를 검사했는데 왜'pongtry4.main()'을 사용하는지 모르겠습니다 - 코드에 'ProcessInput()','Update()','Render)' – furas