手把手一步一步教你使用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");
            }
        }
    }

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

项目源码

项目源码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容