在 pygame 中,可以通过调用 获取系统时间pygame.time.get_ticks()
,它返回自调用以来的毫秒数pygame.init()
。见pygame.time
模块。
当点击开始按钮时,您需要计算第一个敌人必须生成的时间。
在全局命名空间中指定sendEnemy
变量:
sendEnemy = 0
设置初始时间值,当单击按钮时:
if clicked:
global sendEnemy
current_time = pygame.time.get_ticks()
sendEnemy = current_time
sendEnemy
如果大于 0,但小于当前时间,则生成新敌人:
def enemy_object_creation(sprite_list, health):
global sendEnemy
if 0 < sendEnemy <= pygame.time.get_ticks():
foe = Enemy(sprite_list, health)
enemies.add(foe)
sendEnemy += 1350
如果您想阻止敌人生成,请设置sendEnemy = 0
.
或者,您可以根据当前时间计算下一个敌人必须生成的时间。但是,这会导致稍微不准确,因为代码不会按时运行,而是在几毫秒后运行:
def enemy_object_creation(sprite_list, health):
global sendEnemy
current_time = pygame.time.get_ticks()
if sendEnemy <= current_time:
foe = Enemy(sprite_list, health)
enemies.add(foe)
sendEnemy = current_time + 1350