Unity 动画系统-AnimationEvent

举报
陈言必行 发表于 2021/08/14 00:29:28 2021/08/14
【摘要】 两种添加事件的方式 第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在Inspector下,,, 第二种则是代码实现了:相对比而言,属性面板能更方便、准确的控制在什么时间出发注册的事件,都可传递0个或者1个参数,只是实现的形式不同,没有本质的区别 代码实现注册动画时间的参考代码如下: public c...

两种添加事件的方式

第一种是属性面板方式:需注意的是,以前的版本点击添加事件后都弹出注册事件的窗口,现在添加事件后注册事件的窗口被放在Inspector下,,,

第二种则是代码实现了:相对比而言,属性面板能更方便、准确的控制在什么时间出发注册的事件,都可传递0个或者1个参数,只是实现的形式不同,没有本质的区别

代码实现注册动画时间的参考代码如下:


  
  1. public class AnimationEventDemo : MonoBehaviour {
  2. Animation ani; //声明Animation动画
  3. AnimationClip aniclip; //声明aniclip动画剪辑
  4. // Use this for initialization
  5. void Start () {
  6. ani = GetComponent<Animation>(); //获取组件
  7. aniclip = ani.GetClip("walk"); //获取walk的动画剪辑,并赋值给aniclip
  8. //创建一个AnimationEvent 对象
  9. AnimationEvent anievent = new AnimationEvent();
  10. anievent.functionName = "Show"; //注册方法到事件
  11. anievent.time = aniclip.length * 0.9f; //设置在动作中触发事件的时间
  12. anievent.intParameter = 5; //传方法中相应的参数
  13. aniclip.AddEvent(anievent); //将设置好的事件添加到动画
  14. }
  15. // Update is called once per frame
  16. void Update () {
  17. if (Input.GetKeyDown(KeyCode.Q))
  18. {
  19. ani.Play("walk"); //播放walk动作
  20. }
  21. }
  22. public void Show(int i)
  23. {
  24. Debug.Log("调用注册方法show参数是:"+i);
  25. }
  26. }


文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/77451338

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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