手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏21之enemy行走和死亡动画效果

行走效果

Enemy类重写父类move方法,在其实现中设置walk动画。

public class Enemy extends ActorObject{
    public void move(double x, double y){
            if(!_dead) {
                if (!isBlocked()) {
                    setZ(getZ() + y);
                    getTransform().translate(x, y);
                    if (!getAnimator().isPlaying("walk")) {
                        getAnimator().setAnimation("walk");
                    }
                }
            }
        }
}

死亡效果

很简单,在Enemy的update方法中,如果我们判断出对象已经死亡,设置死亡动画。


public class Enemy extends ActorObject{
    private boolean _dead = false;

    @Override
    public void update(Graphics2D g){
        if(!_dead) {
            super.update(g);
        }
        if(!isDead()){
            if(isBlocked()){
                this.takeDamage(_player);
            }
        }
        else{
            if(!_dead){
                getAnimator().setAnimation("die");
                _dead = true;
            }
            if(getAnimator().getMaxFrame()==getAnimator().getCurrentFrame()){
                getAnimator().setAnimation("dead");
            }
        }
    }

如果您迷路了,请参考完整源码:

项目源码

项目源码

你可能感兴趣的:(手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏21之enemy行走和死亡动画效果)