Itween的代码使用方法

BB:Itween是真心不好用!

- 透明度动画

void Start () {  
        //键值对儿的形式保存iTween所用到的参数    
        Hashtable args = new Hashtable();  
  
        //最终透明度  
        args.Add("alpha", 0);  
        //最终透明度,alpha和amount都是最终透明度,amount优先于alpha.内部实现是仅改变Color.a的值,再调用对应的Color方法.  
        args.Add("amount", 0);  
        //是否包括子对象  
        args.Add("includechildren",true);  
        //当效果是应用在renderer(渲染器)组件上时,此参数确定具体应用到那个以命名颜色值上  
        args.Add("namedcolorvalue", iTween.NamedValueColor._Color);  
          
        //动画的时间    
        args.Add("time", 10f);  
        //延迟执行时间    
        args.Add("delay", 0.1f);  
  
        //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中    
        args.Add("easeType", iTween.EaseType.easeInOutExpo);  
        //三个循环类型 none loop pingPong (一般 循环 来回)       
        //args.Add("loopType", "none");    
        //args.Add("loopType", "loop");      
        args.Add("loopType", iTween.LoopType.pingPong);  
  
        //处理动画中的事件。    
        //开始发生动画时调用AnimationStart方法,5.0表示它的参数    
        args.Add("onstart", "AnimationStart");  
        args.Add("onstartparams", 5.0f);  
        //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,    
        //那么就得在接收对象的脚本中实现AnimationStart方法。    
        args.Add("onstarttarget", gameObject);  
  
  
        //动画结束时调用,参数和上面类似    
        args.Add("oncomplete", "AnimationEnd");  
        args.Add("oncompleteparams", "end");  
        args.Add("oncompletetarget", gameObject);  
  
        //动画中调用,参数和上面类似    
        args.Add("onupdate", "AnimationUpdate");  
        args.Add("onupdatetarget", gameObject);  
        args.Add("onupdateparams", true);  
  
        iTween.FadeTo(btnBegin, args);  
    }  
      
      
    //动画开始时调用  
    void AnimationStart(float f)  
    {  
        Debug.Log("start :" + f);  
    }  
    //动画结束时调用  
    void AnimationEnd(string f)  
    {  
        Debug.Log("end : " + f);  
  
    }  
    //动画中调用  
    void AnimationUpdate(bool f)  
    {  
        Debug.Log("update :" + f);  
          
    }  
View Code

- 移动动画

void Start () {  
          
        //键值对儿的形式保存iTween所用到的参数  
        Hashtable args = new Hashtable();  
   
        //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
        //例如移动的特效,先震动在移动、先后退在移动、先加速在变速、等等  
        args.Add("easeType", iTween.EaseType.easeInOutExpo);  
   
        //移动的速度,  
        //args.Add("speed",10f);  
        //移动的整体时间。如果与speed共存那么优先speed  
        args.Add("time",10f);  
        //这个是处理颜色的。可以看源码的那个枚举。  
        args.Add("NamedValueColor","_SpecColor");  
        //延迟执行时间  
        args.Add("delay", 0.1f);  
          
        //是否让游戏对象始终面朝路径行进的方向,拐弯的地方会自动旋转。  
        args.Add("orienttopath", true);  
        //移动的过程中面朝一个点,当“orienttopath”为true时该参数失效  
        args.Add("looktarget",Vector3.zero);  
        //游戏对象看向“looktarget”的秒数。  
        args.Add("looktime",1.1);  
  
  
        //游戏对象移动的路径可以为Vector3[]或Transform[] 类型。可通过iTweenPath编辑获取路径  
        Vector3[] testPath = { new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 1), new Vector3(1, 1, 1), new Vector3(1, 5, 1) };  
        args.Add("path", testPath);  
        //是否移动到路径的起始位置(false:游戏对象立即处于路径的起始点,true:游戏对象将从原是位置移动到路径的起始点)  
        args.Add("movetopath", false);  
  
        //当包含“path”参数且“orienttopath”为true时,该值用于计算“looktarget”的值,表示游戏物体看着前方点的位置,(百分比,默认0.05)  
        args.Add("lookahead",0.01);  
  
        //限制仅在指定的轴上旋转  
        args.Add("axis", "x");  
        //是否使用局部坐标(默认为false)  
        args.Add("islocal", false);  
  
   
        //三个循环类型 none loop pingPong (一般 循环 来回)    
        //args.Add("loopType", "none");  
        //args.Add("loopType", "loop");   
        args.Add("loopType", iTween.LoopType.pingPong);  
   
        //处理移动过程中的事件。  
        //开始发生移动时调用AnimationStart方法,5.0表示它的参数  
        args.Add("onstart", "AnimationStart");  
        args.Add("onstartparams", 5.0f);  
        //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
        //那么就得在接收对象的脚本中实现AnimationStart方法。  
        args.Add("onstarttarget", gameObject);  
   
  
        //移动结束时调用,参数和上面类似  
        args.Add("oncomplete", "AnimationEnd");  
        args.Add("oncompleteparams", "end");  
        args.Add("oncompletetarget", gameObject);  
   
        //移动中调用,参数和上面类似  
        args.Add("onupdate", "AnimationUpdate");  
        args.Add("onupdatetarget", gameObject);  
        args.Add("onupdateparams", true);  
   
        // x y z 标示移动的位置。  
        args.Add("x",-5);  
        args.Add("y",1);  
        args.Add("z",1);  
        //当然也可以写Vector3  
        //args.Add("position",Vectoe3.zero);  
        //最终让改对象开始移动  
        iTween.MoveTo(btnBegin, args);    
    }  
    //对象移动中调用  
    void AnimationUpdate(bool f)  
    {  
        Debug.Log("update :" + f);  
    }  
    //对象开始移动时调用  
    void AnimationStart(float f)  
    {  
        Debug.Log("start :" + f);  
    }  
    //对象移动时调用  
    void AnimationEnd(string f)  
    {  
        Debug.Log("end : " + f);  
    }  
View Code

- 缩放动画

void Start () {  
         
  
       //键值对儿的形式保存iTween所用到的参数  
       Hashtable args = new Hashtable();  
  
       //放大的倍数  
       args.Add("scale", new Vector3(1, 5, 1));  
       //args.Add("scale", msgNotContinue.transform);  
       // x y z 标示放大的倍数  
       args.Add("x", 5);  
       args.Add("y", 1);  
       args.Add("z", 1);  
  
       //动画的速度  
       //args.Add("speed",10f);  
       //动画的时间  
       args.Add("time", 10f);  
       //延迟执行时间  
       args.Add("delay", 0.1f);  
  
       //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
       args.Add("easeType", iTween.EaseType.easeInOutExpo);  
       //三个循环类型 none loop pingPong (一般 循环 来回)     
       //args.Add("loopType", "none");  
       //args.Add("loopType", "loop");    
       args.Add("loopType", iTween.LoopType.pingPong);  
  
       //处理移动过程中的事件。  
       //开始发生动画时调用AnimationStart方法,5.0表示它的参数  
       args.Add("onstart", "AnimationStart");  
       args.Add("onstartparams", 5.0f);  
       //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
       //那么就得在接收对象的脚本中实现AnimationStart方法。  
       args.Add("onstarttarget", gameObject);  
  
  
       //动画结束时调用,参数和上面类似  
       args.Add("oncomplete", "AnimationEnd");  
       args.Add("oncompleteparams", "end");  
       args.Add("oncompletetarget", gameObject);  
  
       //动画中调用,参数和上面类似  
       args.Add("onupdate", "AnimationUpdate");  
       args.Add("onupdatetarget", gameObject);  
       args.Add("onupdateparams", true);  
  
       iTween.ScaleTo(btnBegin, args);  
}  
     
     
   //动画开始时调用  
   void AnimationStart(float f)  
   {  
       Debug.Log("start :" + f);  
   }  
   //动画结束时调用  
   void AnimationEnd(string f)  
   {  
       Debug.Log("end : " + f);  
   }  
   //动画中调用  
   void AnimationUpdate(bool f)  
   {  
       Debug.Log("update :" + f);  
   }  
View Code

- 值变化动画

void Start () {  
       //键值对儿的形式保存iTween所用到的参数  
       Hashtable args = new Hashtable();  
       //插值的起点和终点,数据类型可为 float、double、Vector3、Vector2、Color、Rect  
       args.Add("from", 0.0f);  
       args.Add("to", 1.0f);  
  
       //插值变化的速度,  
       //args.Add("speed",10f);  
       //插值变化的整体时间。如果与speed共存那么优先speed  
       args.Add("time", 10f);  
       //延迟执行时间  
       args.Add("delay", 0.1f);  
       //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
       args.Add("easeType", iTween.EaseType.easeInOutExpo);  
       //三个循环类型 none loop pingPong (一般 循环 来回)     
       //args.Add("loopType", "none");  
       //args.Add("loopType", "loop");    
       args.Add("loopType", iTween.LoopType.pingPong);  
  
  
       //处理移动过程中的事件。  
       //开始发生变化时调用AnimationStart方法,5.0表示它的参数  
       args.Add("onstart", "AnimationStart");  
       args.Add("onstartparams", 5.0f);  
       //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
       //那么就得在接收对象的脚本中实现AnimationStart方法。  
       args.Add("onstarttarget", gameObject);  
  
       //变化结束时调用,参数和上面类似  
       args.Add("oncomplete", "AnimationEnd");  
       args.Add("oncompleteparams", "end");  
       args.Add("oncompletetarget", gameObject);  
  
       //变化过程中(ValueTo必写参数)  
       args.Add("onupdate", "AnimationUpdata");  
       args.Add("onupdatetarget", gameObject);  
  
       //ValueTo不可用  
       args.Add("onupdateparams", btnBegin);  
  
       iTween.ValueTo(btnBegin, args);  
}  
   public void AnimationUpdata(object obj)  
   {  
       float per = (float)obj;  
       //改变按钮透明度  
       btnBegin.transform.FindChild("Background").GetComponent<UISprite>().alpha = per;  
   }  
     
   //动画开始时调用  
   void AnimationStart(float f)  
   {  
       Debug.Log("start :" + f);  
   }  
   //动画结束时调用  
   void AnimationEnd(string f)  
   {  
       Debug.Log("end : " + f);  
   }  
View Code

这里附上一个协程的值变化方式

原文地址:https://www.cnblogs.com/jwv5/p/9076723.html