Unity笔记——如何在动画某一时刻添加事件

本文在做3d游戏时用的Animator模式!


    在做游戏Demo的过程中,一定会遇到Player和Monster动画与实际攻击效果的问题,在此记录博主自学时查阅资料走完弯路的解决办法。

1.思考清楚原理(){

    在这里我们以Monster为例。

    Monster在攻击Player时,Player会相应受到伤害。

    那么Monster是在攻击开始时Player就受伤害还是攻击后受到伤害呢?

    可能是攻击后吧!!!

    Unity笔记——如何在动画某一时刻添加事件_第1张图片

    事实上呢,是在Monster(武器/或者类似武器的各种玩意儿)击中Player那一瞬间,Player受到伤害的。

    那么同学们一定会想了,怎么做才能达到这种效果呢,是否需要代码来实现呢。

    博主首先是这么想的,在查阅了各种资料遇到各种Bug后就崩溃了Unity笔记——如何在动画某一时刻添加事件_第2张图片

    于是就想了,咋才能不用敲代码就能解决问题呢......

    //接着往下看就对了√

}

//===========================================================================

2.解决办法(){

    首先我们要打开Animator↓

Unity笔记——如何在动画某一时刻添加事件_第3张图片

    双击例如attack!!!

    Unity笔记——如何在动画某一时刻添加事件_第4张图片

    往下找到Events

    Unity笔记——如何在动画某一时刻添加事件_第5张图片

    点击最左边的小按钮(1),就会出现(2)这个东西

    Unity笔记——如何在动画某一时刻添加事件_第6张图片

    其中Function后填写你函数的名字的

    当然函数的脚本要绑定在Animator所在的Monster上

    public void MonsterAttack() {
        PlayerStatus._instance.OnDamage();
        Debug.Log(PlayerStatus._instance.HP);
}  
    这里博主内的PlayerStatus._instance.HP和PlayerStatus._instance.OnDamage()是预先脚本里的,代表了玩家受到伤害和玩 家的HP,同学们不用在意那么多......

}

//===========================================================================

3.结果怎么样(){

    呢必然是成功了呀!!!

    大家如果有其他方法或者有博主没有写到的地方一定要提出来,博主学习研究后日后更新。

Unity笔记——如何在动画某一时刻添加事件_第7张图片

}

你可能感兴趣的:(Unity)