Itween的代碼使用方法 - 01

BB:Itween是真心很差用!ide

- 透明度動畫oop

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

- 縮放動畫spa

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

- 值變化動畫3d

void Start () {  
       //鍵值對兒的形式保存iTween所用到的參數  
       Hashtable args = new Hashtable();  
       //插值的起點和終點,數據類型可爲 float、double、Vector三、Vector二、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

這裏附上一個協程的值變化方式code

相關文章
相關標籤/搜索