unity開源移動庫iTween使用完整Demo

 1 public Vector3[] paths;
 2     // Use this for initialization
 3     void Start () {
 4         paths = new Vector3[2] { new Vector3(1, 0, 1), new Vector3(-1, 0, -1) };
 5         Hashtable args = new Hashtable();
 6         //設置路徑的點
 7         args.Add("path", paths);
 8         //設置類型爲線性,線性效果會好一些。
 9         args.Add("easeType", iTween.EaseType.linear);
10         //設置尋路的速度
11         args.Add("speed", 1f);
12         //是否先從原始位置走到路徑中第一個點的位置
13         args.Add("movetopath", true);
14         //是否讓模型始終面朝當面目標的方向
15         //若是你發現你的模型在尋路的時候時鐘都是一個方向那麼必定要打開這個
16         args.Add("orienttopath", true);
17 
18         //讓模型開始尋路    
19         iTween.MoveTo(gameObject, args);
20     }
 1 void Start()
 2     {
 3     
 4         //鍵值對兒的形式保存iTween所用到的參數
 5         Hashtable args = new Hashtable();
 6         
 7         //這裏是設置類型,iTween的類型又不少種,在源碼中的枚舉EaseType中
 8         //例如移動的特效,先震動在移動、前後退在移動、先加速在變速、等等
 9         args.Add("easeType", iTween.EaseType.easeInOutExpo);
10         
11         //移動的速度,
12         args.Add("speed",10f);
13         //移動的總體時間。若是與speed共存那麼優先speed
14         args.Add("time",1f);
15         //這個是處理顏色的。能夠看源碼的那個枚舉。
16         args.Add("NamedValueColor","_SpecColor");
17         //延遲執行時間
18         args.Add("delay", 0.1f);
19         //移動的過程當中面朝一個點
20         args.Add("looktarget",Vector3.zero);
21         
22         //三個循環類型 none loop pingPong (通常 循環 來回)    
23         //args.Add("loopType", "none");
24         //args.Add("loopType", "loop");    
25         args.Add("loopType", "pingPong");
26         
27         //處理移動過程當中的事件。
28         //開始發生移動時調用AnimationStart方法,5.0表示它的參數
29         args.Add("onstart", "AnimationStart");
30         args.Add("onstartparams", 5.0f);
31         //設置接受方法的對象,默認是自身接受,這裏也能夠改爲別的對象接受,
32         //那麼就得在接收對象的腳本中實現AnimationStart方法。
33         args.Add("onstarttarget", gameObject);
34         
35         
36         //移動結束時調用,參數和上面相似
37         args.Add("oncomplete", "AnimationEnd");
38         args.Add("oncompleteparams", "end");
39         args.Add("oncompletetarget", gameObject);
40         
41         
42         //移動中調用,參數和上面相似
43         args.Add("onupdate", "AnimationUpdate");
44         args.Add("onupdatetarget", gameObject);
45         args.Add("onupdateparams", true);
46         
47         
48         
49         // x y z 標示移動的位置。
50         
51         args.Add("x",5);
52         args.Add("y",5);
53         args.Add("z",1);
54 
55         //固然也能夠寫Vector3
56         //args.Add("position",Vectoe3.zero);
57         
58         
59         //最終讓改對象開始移動
60         iTween.MoveTo(gameObject,args);    
61     }
62     
63     //對象移動中調用
64     void AnimationUpdate(bool f)
65     {
66         Debug.Log("update :" + f);
67     }
68     //對象開始移動時調用
69     void AnimationStart(float f)
70     {
71         Debug.Log("start :" + f);
72     }
73     //對象移動時調用
74     void AnimationEnd(string f)
75     {
76         Debug.Log("end : " + f);
77     }
相關文章
相關標籤/搜索