Unity 动画系统-AnimationEvent
【摘要】 两种添加事件的方式
第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在Inspector下,,,
第二种则是代码实现了:相对比而言,属性面板能更方便、准确的控制在什么时间出发注册的事件,都可传递0个或者1个参数,只是实现的形式不同,没有本质的区别
代码实现注册动画时间的参考代码如下:
public c...
两种添加事件的方式
第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在Inspector下,,,
第二种则是代码实现了:相对比而言,属性面板能更方便、准确的控制在什么时间出发注册的事件,都可传递0个或者1个参数,只是实现的形式不同,没有本质的区别
代码实现注册动画时间的参考代码如下:
-
public class AnimationEventDemo : MonoBehaviour {
-
-
Animation ani; //声明Animation动画
-
AnimationClip aniclip; //声明aniclip动画剪辑
-
-
// Use this for initialization
-
void Start () {
-
ani = GetComponent<Animation>(); //获取组件
-
-
aniclip = ani.GetClip("walk"); //获取walk的动画剪辑,并赋值给aniclip
-
-
//创建一个AnimationEvent 对象
-
AnimationEvent anievent = new AnimationEvent();
-
-
anievent.functionName = "Show"; //注册方法到事件
-
-
anievent.time = aniclip.length * 0.9f; //设置在动作中触发事件的时间
-
-
anievent.intParameter = 5; //传方法中相应的参数
-
-
aniclip.AddEvent(anievent); //将设置好的事件添加到动画
-
-
}
-
-
// Update is called once per frame
-
void Update () {
-
if (Input.GetKeyDown(KeyCode.Q))
-
{
-
ani.Play("walk"); //播放walk动作
-
}
-
}
-
-
public void Show(int i)
-
{
-
Debug.Log("调用注册方法show参数是:"+i);
-
}
-
}
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/77451338
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)