Làm cách nào để tạo một sự kiện chỉ xảy ra nếu điều có thể xác minh được là đúng trong Python/pygame

lập trình

[ad_1]

Tôi đã làm như vậy nếu bạn nhấp vào thì bạn sẽ đi đến giữa màn hình nhưng tôi chỉ muốn điều đó xảy ra nếu bạn đang ở trên màn hình chết. Điều này xảy ra khi bạn rời khỏi màn hình, tôi phải làm thế nào để nhấp chuột chỉ hoạt động nếu cái chết màn hình đang hiển thị

Những gì tôi đã thử:

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()

Giải pháp 1

Bạn không thể kiểm soát thời điểm các sự kiện được nêu ra. Bạn chỉ có thể thiết lập một điều kiện khi trình xử lý sự kiện của bạn được gọi, bạn kiểm tra trạng thái trò chơi của mình (một lá cờ trong trường hợp của bạn) rằng “màn hình chết” đang hiển thị, sau đó tiến hành tương ứng. Bạn sẽ phải đặt cờ (đặt thành đúng) khi “màn hình chết” của bạn hiển thị, sau đó đặt lại cờ đó (đặt thành sai) khi thích hợp.

[ad_2]

コメント

タイトルとURLをコピーしました