两种添加事件的方式
第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在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 发表于2017/8/21 16:35:15 原文链接
阅读:41 评论:0 查看评论