我是PyGame的新手,我正在创造一个太空射击游戏。这个游戏的一部分是通电,当玩家拾取特定的加电时,我希望玩家不能射击3秒。通过鼠标点击进行拍摄。
我可以接受电力消耗,我知道玩家最后选择了多少电力,但我正在努力解决这个问题。我如何考虑实施:
我知道Python等函数(例如wait)无济于事。
任何想法/建议? 感谢
答案 0 :(得分:-1)
当您致电clock.tick()
时,它会返回自上次通话以来的时间。所以请节省时间:dt = clock.tick()
,然后使用该变量来计算秒数。
示例:
dt = clock.tick() # only call once per iteration
if attack_blocked:
attack_block_count += dt
if attack_block_count >= 3000: # dt is in ms
attack_blocked = False
示例2:
while True:
dt = clock.tick(60)
for event....
if block_attack_power_up:
attack_blocked = True
attack_block_count = 0
if not attack_blocked:
# do your attack
if attack_blocked:
attack_block_count += dt
if attack_block_count >= 3000:
attack_blocked = False