問題: アプリケーション ループが正しく機能していません。
コンテキスト:
提供される Pythonスクリプトは Pygame を使用して基本的な 2D アドベンチャー ゲームを作成しようとしていますが、アプリケーション ループが誤動作しているようです。ユーザーは、ゲーム内にカメラ システムを実装するためのガイダンスを求めています。ただし、この応答の主な焦点は、障害のあるアプリケーション ループを解決することです。
根本原因:
スクリプト内の間違ったアプローチは、オブジェクトの位置に背景を配置し、その後オブジェクトを移動して新しい位置にブリットします。このアプローチは冗長であり、不要です。
解決策:
メイン アプリケーション ループの基本的な理解が重要です:
要約すると、アプリケーション ループは次のように進む必要があります。
変更コード:
while 1: # Event handling for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() # Object updates keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: objects[0].move_left() if keys[pygame.K_RIGHT]: objects[0].move_right() if keys[pygame.K_UP]: objects[0].move_up() if keys[pygame.K_DOWN]: objects[0].move_down() for num in range(num_objects - 1): objects[num + 1].rand_move() # Background rendering screen.blit(background, (0, 0)) # Scene rendering for o in objects: screen.blit(o.image, o.pos) # Display update pygame.display.update() pygame.time.delay(100)
以上がPygame アプリケーション ループが正しく動作しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。