Unity 动画系统-AnimationEvent

举报
陈言必行 发表于 2021/08/14 00:29:28 2021/08/14
2.8k+ 0 0
【摘要】 两种添加事件的方式 第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。