首页 > 代码库 > itween

itween

什么是iTween?

 iTween是一个动画库,用它可以轻松实现各种动画、晃动、旋转、移动、褪色、上色、控制音频等

iTween的使用

从http://itween.pixelplacement.com/下载相应的插件(就一个cs文件),然后导入到unity3d工程中

可以干的事情

  • 控制音频:AudioFrom、AudioTo、AudioUpdate、Stab

 

  • 控制相机:CameraFadeAdd、CameraFadeDepth、CameraFadeDestroy、CameraFadeSwap、CameraFadeFrom、CameraFadeTo、CameraTexture
  • 变色控制:ColorFrom、ColorTo、ColorUpdate
  • 绘制相关:DrawLine、DrawLineGizmos、DrawLineHandles、DrawPath、DrawPathGizmos、DrawPathHandles
  • 淡入淡出:FadeFrom、FadeTo、FadeUpdate
  • 视角控制:LookFrom、LookTo、LookUpdate、LookType
  • 移动控制:MoveAdd、MoveBy、MoveFrom、MoveTo、MoveUpdate
  • 路径操作:PutOnPath、PointOnPath
  • 旋转操作:RotateAdd、RotateBy、RotateFrom、RotateTo、RotateUpdate
  • 缩放操作:ScaleAdd、ScaleBy、ScaleFrom、ScaleTo、ScaleUpdate
  • 震动控制:ShakePosition、ShakeRotation、ShakeScale
  • 其他:Count、PathLength、EaseType(衰减类型)、FloatUpdate、Hash、Init、Pause、Resume、Stop、StopByName、PunchPosition、PunchRotation、PunchScale、RectUpdate、ValueTo、Vector2Update、Vector3Update

 

对象的移动

函数原型:
[csharp] view plaincopy
 
  1. MoveTo(GameObject target, Vector3 position, float time)  
  2. MoveTo(GameObject target, Hashtable args)  
用法示例:
[csharp] view plaincopy
 
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class Test : MonoBehaviour  
  5. {  
  6.     // 是否正在播放动画  
  7.     private bool isInAnim = false;  
  8.   
  9.     Hashtable ht = new Hashtable();  
  10.   
  11.     // Use this for initialization  
  12.     void Start()  
  13.     {  
  14.         // 设置移动路径,使用时间和距离来控制  
  15.         ht.Add("time", 8.0f);  
  16.         ht.Add("delay", 1.0f);  
  17.         ht.Add("position", new Vector3(0, 4, 0));  
  18.   
  19.         // 设置每帧移动的步长  
  20.         ht.Add("x", 1.0f);  
  21.         ht.Add("y", 2.0f);  
  22.         ht.Add("z", 1.0f);  
  23.   
  24.         // 设置对象始终面向路径  
  25.         ht.Add("orienttopath", true);  
  26.   
  27.         // 设置对象始终面向一个点  
  28.         ht.Add("looktarget", new Vector3(0, 0, 0));  
  29.   
  30.         // 设置移动路径  
  31.         Vector3[] path =  
  32.         {  
  33.             new Vector3(0, 0, 0),  
  34.             new Vector3(1, 1, 0),  
  35.             new Vector3(1, 3, 0),  
  36.             new Vector3(4, 4, 0)  
  37.         };  
  38.         ht.Add("path", path);  
  39.   
  40.         // 动画开始的回调  
  41.         ht.Add("onstart", "onAnimationStart");  
  42.         ht.Add("onstarttarget", this.gameObject);  
  43.         ht.Add("onstartparams", this.gameObject.name);  
  44.   
  45.         // 动画没帧的回调  
  46.         ht.Add("onupdate", "onAnimationUpdate");  
  47.         ht.Add("onupdatetarget", this.gameObject);  
  48.         ht.Add("onupdateparams", this.gameObject.name);  
  49.   
  50.         // 动画结束的回调  
  51.         ht.Add("oncomplete", "onAnimationEnd");  
  52.         ht.Add("oncompletetarget", this.gameObject);  
  53.         ht.Add("oncompleteparams", this.gameObject.name);  
  54.     }  
  55.   
  56.     // Update is called once per frame  
  57.     void Update()  
  58.     {  
  59.         if (! isInAnim)  
  60.         {  
  61.             iTween.MoveTo(this.gameObject, ht);  
  62.             isInAnim = true;  
  63.         }  
  64.     }  
  65. }  

itween