所以我做了一个自上而下的射手,左击射击,右击重新装弹。我想让它这样的球员不能射击时,重新加载,我不希望屏幕显示,球员有充分的弹药,直到他们完全重新加载(就像任何fps游戏)。有人知道我该怎么做吗?感谢您的反馈:)
这是我的鼠标/启动代码:
if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed() == (1, 0, 0) and ammo > 0:
ammo -= 1
bullet = Bullet()
all_sprites_list.add(bullet)
bullet_list.add(bullet)
elif event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed() == (0, 0, 1):
pygame.time.wait(1000)
ammo = full_ammo
所以我知道pygame.time.wait(1000)
冻结了整个程序整整一秒钟,我让它在那里以为它会延迟设置ammo = full_ammo
,但它暂停了整个游戏哈哈。有没有人知道一个函数或pygame.
任何我可以用来延迟将弹药设置为满的函数(模拟重新装载时间)?在
您需要添加一个变量来跟踪当前是否正在重新加载以及上次重新加载的时间。看起来有点像这样:
(请记住,您需要
import time
)然后,你需要更新你的射击代码来添加一个条件,看看你是否正在重新加载。在
^{pr2}$最后,您需要添加一些代码,看看是否完成了重新加载。这应该在事件处理之外。在
我强烈建议将1000放入一个变量中(命名为
TIME_TO_RELOAD
或任何你想要的),这将使微调和调整游戏常量变得更容易。在相关问题 更多 >
编程相关推荐