为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕慕森 2023-03-30 10:05:51
这是一个简单的 pygame 代码,我在其中插入了一个屏幕,一个粉红色的矩形并尝试移动它。pygame 窗口中的矩形没有移动。这意味着“**”内的代码无法正常工作。我该如何解决?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.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()
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

密钥存储在 key属性中,而不是type属性中。见pygame.event:

if event.key == pygame.K_LEFT:


看例子:


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


查看完整回答
反对 回复 2023-03-30
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号