微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

输入输入键时 Pygame 不更新

如何解决输入输入键时 Pygame 不更新

我试图在输入某些键时让形状移动,但由于某种原因,形状没有移动。我怀疑是因为显示没有被更新,所以我在移动条件之后添加pygame.display.update() 函数来更新它,但这不起作用。我也尝试在运动条件之后渲染形状,但这也不起作用。我假设我需要告诉代码“在按键上移动什么”,但我不太确定如何做到这一点。下面是我的代码

import sys

win = pygame.display.set_mode((800,500))
color = '#FFFFFF'

# Changing surface color
win.fill(color)
pygame.display.flip()

# shape stuff
x = 50
y = 50
width = 40
height = 60
vel = 50

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        # circle

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        x -= vel

    if keys[pygame.K_RIGHT]:
        x += vel

    if keys[pygame.K_UP]:
        y -= vel

    if keys[pygame.K_DOWN]:
        y += vel

    pygame.draw.circle(win,(0,255),(400,250),width)
    pygame.display.update()

解决方法

您需要在 (x,y) 处而不是一直在 (400,250) 处绘制圆:

pygame.draw.circle(win,(0,255),(400,250),width)

pygame.draw.circle(win,(x,y),width)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。