繁体   English   中英

如何在按键时连续移动 pygame 中的表面?

[英]How to continuously move a surface in pygame upon key press?

我正在尝试制作一个游戏,我可以通过按下左右箭头键来左右移动船。 您在下面看到的代码是我目前拥有的代码:

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_RIGHT:
            self.ship_image_rect.x += 2
        if event.key == pygame.K_LEFT:
            self.ship_image_rect.x -= 2

但是当我按下右或左箭头键时,它不是连续移动,而是移动一次并停止。 我必须反复按箭头键才能进行任何有意义的动作,这绝对不是我想做的。

如何改进此代码,以便在按下任一箭头键时我的船将沿任一方向连续移动?

你必须使用:

keys=pygame.key.get_pressed()

这将返回代表整个键盘的布尔值列表。 检查在当前循环迭代中是否按下了 LEFT_ARROW:

if keys[K_LEFT] is True:

看到这个答案: https://stackoverflow.com/a/16044380/9392216

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM