Unity-Animation基础方法调用

//动画名称  
  private const string ANIM_NAME = "Take 001";  
  //模型对象  
  private GameObject obj = null;  
  //动画长度
  private float animLegth=0f;
  //动画组件
  private Animation m_Animation=null;
 栗子代码:
      //得到模型动画  
      //obj = GameObject.Find("man");  
      //得到动画的播放长度;旧版本可以直接获取 obj.animation.animation[ANIM_NAME].length,5.X之后的应该都需要获取Animation组件
      m_Animation = obj.GetComponent<Animation>();
     animLegth= m_Animation[ANIM_NAME].length;  
      //播放动画 : 1 
      m_Animation.Play();//播放默认动画
      m_Animation.Play("xx");//播放xx动画,默认是停止同一层的其他动画;作用同m_Animation.Play("xx",PlayMode.StopSamLayer);
      m_Animation.Play("xx",PlayMode.StopAll);//播放xx动画,所有当前播放的动画都停止
      //2:在一定时间内淡入名称为animation的动画
      m_Animation.CrossFade(string:animation);
      m_Animation.CrossFade(string:animation,float:time);
      m_Animation.CrossFade(string:animation,float:time,PlayMode:playMode);    
      //判断动画是否播放完毕;normalizedTime: 范围0~1,  0是动作开始,1是动作结束;但是对于Animation好似没用,Animator是可以的,建议可以尝试下,判断normalizedTime的值是否处于0.8~0.9尝试,或者其他定时/委托
      if (m_Animation.IsPlaying("xx") && m_Animation["xx"].normalizedTime >= 1)  
      //倒放动画
      m_Animation["xx"].speed = -1f*设置的动画播放速度;    //加速可以直接在正值的基础上乘N倍  栗子:m_Animation["xx"].speed = 1f*N;
    //停止播放动画  m_Animation.Stop(); m_Animation.Stop("xx");

转载于:https://www.cnblogs.com/allyh/p/9180569.html

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值