有人可以告诉我这段 python 代码哪里错了吗?

这是一个简单的 pygame 代码,我在其中插入了一个屏幕,一个粉红色的矩形并尝试移动它。pygame 窗口中的矩形没有移动。这意味着“**”内的代码无法正常工作。我该如何解决?


import pygame, sys


pygame.init()


width = 800

height = 600


pink = (244,133,227)


player_pos = [400, 300]

player_size = 50


screen = pygame.display.set_mode((width,height))


game_over = False


while not game_over:


    for event in pygame.event.get():


        if event.type == pygame.QUIT:

            sys.exit()


**      if event.type == pygame.KEYDOWN:

            x = player_pos[0]

            y = player_pos[1]

            if event.type == pygame.K_LEFT:

                x -= player_size

            elif event.type == pygame.K_RIGHT:

                x += player_size

            player_pos = [x, y]

    screen.fill((0,0,0))  **


    pygame.draw.rect(screen, pink, (player_pos[0], player_pos[1], player_size, player_size))


    pygame.display.update()


慕慕森
浏览 116回答 1
1回答

元芳怎么了

密钥存储在 key属性中,而不是type属性中。见pygame.event:if event.key == pygame.K_LEFT:看例子:import pygame, syspygame.init()width = 800height = 600pink = (244,133,227)player_pos = [400, 300]player_size = 50screen = pygame.display.set_mode((width,height))game_over = Falsewhile not game_over:    for event in pygame.event.get():        if event.type == pygame.QUIT:            sys.exit()        if event.type == pygame.KEYDOWN:            x = player_pos[0]            y = player_pos[1]            if event.key == pygame.K_LEFT:                x -= player_size            elif event.key == pygame.K_RIGHT:                x += player_size            player_pos = [x, y]    screen.fill((0,0,0))      pygame.draw.rect(screen, pink, (player_pos[0], player_pos[1], player_size, player_size))    pygame.display.update()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python