zoukankan      html  css  js  c++  java
  • unity3d的Animation 动画播放器的基本API

    直接上代码:

    //动画名称  
      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"); 

    注:一个要格外注意的点,一旦用了倒放动画,播放完毕之后,要恢复;不然动画只播放一遍;

  • 相关阅读:
    highcharts的表名
    highcharts的引用
    Factory 模式
    PHP中interface与 implements 关键字
    PHP中为位运算符(几乎很少用)
    &,引用复制@,忽略错误提示
    TP中手动加载类库
    TP框架自动加载优先级
    交换机和路由器
    Ucenter,Discuz
  • 原文地址:https://www.cnblogs.com/allyh/p/9180569.html
Copyright © 2011-2022 走看看