调用播放器上的多个动画事件

本文关键字:动画 事件 播放器 调用 | 更新日期: 2023-09-27 18:28:07

如果我有一个球员,比方说一个红球击中了我的球员,球员着火了。。。很简单,我做到了。但现在我想在if语句下添加以下代码,即蓝球击中我的球员并冻结,或者黑球导致死亡动画。。。但将多个动画事件添加到一个玩家中是不可行的。

Public GameObject GoneGo; 
void OnTriggerEnter2D(Collider2D collisionObject)
{
    if (collisionObject.gameObject.tag == "Orb")
    {
        PlayGone();
    }
}
void PlayGone()
{
    GameObject gone = (GameObject)Instantiate(GoneGo);
    gone.transform.position = transform.position;
}

调用播放器上的多个动画事件

您可以做的是对影响播放器的对撞机执行名称检查。你已经检查了标签,然后检查红球、蓝球或黑球作为游戏对象的名称。

您可以通过查看unitys mechanim系统来处理多个动画,该系统是动画师组件(而不是动画组件)。https://community.mixamo.com/hc/en-us/articles/203879268-Unity-Mecanim-Animation-Basics

在设置动画师后,你会做的是为不同的触发参数设置触发器。或者,您可以在HitByBlueBall或HitByRedBall等参数中使用类似SetBool的bool。

希望这能有所帮助!