[ad_1]
クリックすると画面の中央に移動するようにしましたが、死亡画面にいる場合にのみそれが発生するようにしたいのですが、画面を離れるときに発生します。死亡した場合にのみクリックが機能するようにするにはどうすればよいですか?画面が表示されています
私が試したこと:
import pygame import random SCREEN_WIDTH = 800 SCREEN_HIEGHT = 600 gravity = 4 pygame.init() screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HIEGHT)) bg_image = pygame.image.load('Background.png') bg_rect = bg_image.get_rect() losing_image = pygame.image.load('losing screen.png') losing_rect = losing_image.get_rect() player_image = pygame.image.load('Character.png') player_rect = player_image.get_rect() player_rect.x = 30 player_rect.y = 300 dead = False clock = pygame.time.Clock() run = True score = 0 while run: for event in pygame.event.get(): if event.type == pygame.MOUSEBUTTONDOWN: player_rect.y = 300 player_rect.x= 30 if event.type == pygame.QUIT: run = False key = pygame.key.get_pressed() if key[pygame.K_w]: player_rect.y -= 7 if player_rect.y < 790: player_rect.y += gravity screen.fill((0,0,0)) screen.blit(bg_image, bg_rect) screen.blit(player_image, player_rect, ) if player_rect.y >= 580: dead = True screen.blit(losing_image, losing_rect) pygame.display.flip() pygame.display.update() clock.tick(60) pygame.quit()
解決策 1
イベントがいつ発生するかを制御することはできません。 イベント ハンドラーが呼び出されたときに、「死亡画面」が表示されているゲームの状態 (この場合はフラグ) を確認し、それに応じて続行するという条件のみをセットアップできます。 「死亡画面」が表示されているときにフラグを設定 (true に設定) し、必要に応じてそのフラグをリセット (false に設定) する必要があります。
[ad_2]
コメント