BOSS 说一个人的舞台,好寂寞,没有对手的日子,好孤独,神呀,赐予我一个 吧。
我们的英雄该登场了。
英雄的代码前面的日志里已经写过了,稍微改下,就能用了。加了生命条的显示。
完整代码如下:
""" 英雄机的类
基本的调用函数
set_pos(self,x,y) 设置飞机初始位置
press_move(self) 持续移动
"""
from setting import *
from lifebar import *
class HeroPlane(pygame.sprite.Sprite):
def __init__(self):
self._layer = 1
self.groups = allgroup, herogroup
pygame.sprite.Sprite.__init__(self, self.groups)
# 默认图像及尺寸
self.image = pygame.image.load('images/hero/hero.png')
self.rect = self.image.get_rect()
self.mask = pygame.mask.from_surface(self.image)
#动起来的速度是 2,设置成零的话,以后就动不了了。
self.speed = 6
#飞机的x,y初始速度,不动。
self.x_speed = 0
self.y_speed = 0
# 移动按键储存
self.key_down_list = []
self.HP = 100
self.HPFULL = 100
lifebar = Lifebar(self)
#计算飞机位置,精灵组会自动调用
def update(self):
"""
更新飞机位置
飞机位置超出 scene时,不进行运算
"""
#计算飞机的位置
self.rect.x += self.x_speed
self.rect.y += self.y_speed
#限制飞机在场景scene
if self.rect.x <= 0:
self.rect.x = 0
elif self.rect.x > SCENEWIDTH - self.rect.width:
self.rect.x = SCENE