第一步添加life属性并封装方法
private int life;
public void addLife(){
life++;
}
public int getLife(){
return life;
}
public void subtractLife(){
life—;
}
public Hero() {
life = 3;
init();
}
第二步,添加死亡动画
//声明标记
int flag = 1;
int num=0;
class HeroAnimation extends TimerTask {
@Override
public void run() {
if(isDead()){
num++;
Hero.this.image = ImageLoaderUtil.load(“hero_blowup_n” + num + “.png”);
if(num==4){
setDead(false);
num=0;
}
}else {
if (flag == 1) {
flag = 2;
} else {<br /> flag = 1;<br /> }<br /> Hero.this.image = ImageLoaderUtil._load_("hero" + flag + ".png");<br /> }
}<br />}
第三步,检测调用
//敌机与英雄机是否碰撞
for (FlySprite enemy : enemys) {
//判断是否碰撞
//if(PhysicsManager.isHit(hero,enemy)){
//敌机死亡
if (enemy.isDead()) {
continue;
}
//是BUFF奖励
if (enemy instanceof BuffAward) {
continue;
}
if (hero.isHit(enemy)) {
enemy.setDead(true);
if (hero.getLife() == 0) {
//游戏结束
hero.destroy();
} else {
hero.subtractLife();
hero.setDead(true);
break;
}
}
}