BOSS说,要有生命,于是便有了生命。
为了显得自己的命长,boss经常干的傻事是亮底裤给别人看,来吧,凡人,看看我的血量。
生命条的绘制可以用一条带宽度的线或者一个填满颜色的矩形,都行。
先得把boss的生命值和满血时是生命值传入,可以计算剩余血量的比例,绘制动态血条。
如果向让血条跟着BOSS一起舞动,还得传入BOSS的坐标。
所以干脆传入一个对象 self吧。血条的层归属allgroup,它只是用来显示,没碰撞检查之类的,所以绘制一下就行了。
当BOSS没有血的时候,它也随之烟消云散了。
from setting import *
class Lifebar(pygame.sprite.Sprite):
"""
显示一条和BOSS宽度一样的血条
随着BOSS生命的减少,按比例减少,当BOSS毁灭时,也跟着殉葬 """
def __init__(self, boss):
self.groups = allgroup
self.boss = boss
self._layer = self.boss._layer
pygame.sprite.Sprite.__init__(self, self.groups)
self.oldpercent = 0
self.paint()
def paint(self):
self.image = pygame.Surface((self.boss.rect.width,12