我想在一个特定的时间过去后,或x数量的怪物已经产生,我如何能在屏幕上显示计时器的'老板'精灵。在
老板班
class Boss(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.transform.scale(boss_img, (150, 200))
self.image.set_colorkey(Black)
self.rect = self.image.get_rect()
self.rect.center = ((Width / 2, -70))
self.speedy = 1
self.shoot_delay = 250
self.last_shot = pygame.time.get_ticks()
self.hp = 150
self.dead = False
def update(self):
if self.hp <= 25:
self.speedy = 3
if self.rect.top > Height + 10:
player.lives = 0
在pygame中有几种实现计时器的方法。您可以使用
pygame.Clock.tick
返回的时间来增加或减少计时器变量,使用pygame.time.get_ticks
计算时差,或者将自定义事件与pygame.time.set_timer
结合使用。在例1-增量时间:
如果你想只产生1个精灵,你可以添加另一个变量,比如
^{pr2}$boss_spawned = False
,并且只有在boss还没有生成时才更改计时器:或者在生成之后将计时器设置为0,并且仅当计时器为
!= 0
时才减少计时器。在例2-pygame.time.get_ticks游戏时间(替换上述主要功能):
如果你只想计算杀戮或产生的怪物,你可以增加一个计数器变量,然后在超过某个限制时生成敌人首领。下面的示例只计算鼠标单击次数,并在单击3次后生成一个块。在
相关问题 更多 >
编程相关推荐