Pygame功能错误的问题

2024-05-18 21:42:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎不知道这段代码中的错误,游戏在启动后就退出了。如果有人能通读我的代码并回答我做错了什么,我将非常感激。我已经通读了所有的内容,但还是不明白。我不知道为什么游戏一开始就退出了(这意味着我甚至不能移动我的街区)

import pygame
import time

pygame.init()

width = 800
height = 600
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)

gameDisplay = pygame.display.set_mode((width, height))
pygame.display.set_caption("First snake game.")

clock = pygame.time.Clock()

block_size = 1
FPS = 100





def gameloop():

    gameExit = False

    lead_x = width/2
    lead_y = height/2
    lead_x_change = 0
    lead_y_change = 0

    while not gameExit:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                gameExit = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_w:
                    lead_y_change = -block_size
                    lead_x_change = 0
                if event.key == pygame.K_s:
                    lead_y_change = block_size
                    lead_x_change = 0
                if event.key == pygame.K_d:
                    lead_x_change = block_size
                    lead_y_change = 0
                if event.key == pygame.K_a:
                    lead_x_change =  -block_size
                    lead_y_change = 0
            if event.type == pygame.KEYUP:
                if event.key == pygame.K_a or event.key == pygame.K_d:
                    lead_x_change = 0
                if event.key == pygame.K_w or event.key == pygame.K_s:
                    lead_y_change = 0


        lead_x += lead_x_change
        lead_y += lead_y_change

        gameDisplay.fill(white)
        pygame.draw.rect(gameDisplay, black, [lead_x, lead_y, block_size, block_size])
        pygame.display.update()
        time.sleep(2)
        pygame.quit()
        quit()


    clock.tick(FPS)
gameloop()

`


Tags: keyeventsizeiftimetypedisplaychange

热门问题