我是一名10年级的学生,使用Pygame在Python中从事一个简单的视频游戏项目。 当我按空格键时,这段代码应该执行:
if keys[pygame.K_SPACE]:
shotflag = True
shotX = shipX+((shipwidth/2)-(shotwidth/2))
shotY = shipY - 10
问题是...它连续执行,直到我将手指从空格键上移开。我只希望它执行一次。 有没有更好的方法可以做到这一点? 我可以使用空格键发布事件吗? 所以它只开火一次?
提前谢谢。 马修
除了Ianin Shelvington的回答之外,你应该在主游戏循环中处理事件。
更多信息在pygame文档中:这里
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
#TODO