gpt4 book ai didi

python - 恒定的键输入可以不断地移动 Sprite 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:45 24 4
gpt4 key购买 nike

如果我想在 pygame 中根据按键输入移动 Sprite ,是否可以编写代码,以便如果我按住某个键, Sprite 将继续朝那个方向移动,直到我松开按键?我已经试过了,要么程序崩溃了,要么我必须反复点击按键才能将 Sprite 移动到预期的方向。

最佳答案

OP 需要按键状态轮询,而不是 KEYDOWN 事件。

此示例显示同时使用键事件和键轮询。您将一个用于“按下按键”,另一个用于“按住时”。

import pygame
from pygame.locals import *

done = False
player.pos = Rect(0,0,10,10)

while not done:
for event in pygame.event.get():
# any other key event input
if event.type == QUIT:
done = True
elif event.type == KEYDOWN:
if event.key == K_ESC:
done = True

# get key current state
keys = pygame.key.get_pressed()
if keys[K_LEFT]:
player.pos.left -= 10
if keys[K_RIGHT]:
player.pos.left += 10
if keys[K_UP]:
player.pos.top -= 10
if keys[K_DOWN]:
player.pos.left += 10
if keys[K_SPACE]:
print 'firing gun'

关于python - 恒定的键输入可以不断地移动 Sprite 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com