目标: 完成小鸟在地面上眨眼睛的动画

1.  新建一个Plane来制作小鸟动画,将包含3帧小鸟动画的图片贴到Plane上,然后设置下Plane的Transform属性。

为了让这个Plane只显示一个小鸟,将Tiling的x值改为0.33.

2. 下面写个脚本来实现小鸟序列帧动画。


  1.  #pragma strict  
  2.   
  3. var rowCount : int = 1;  
  4. var colCount : int = 3;  
  5. var fps : int = 2;  
  6. var isLoop : boolean = true;  
  7.   
  8. private var curTime : float = 0.0f;  
  9. private var lastTime : float = 0.0f;  
  10. private var curRow : int = 0;  
  11. private var curCol : int = 0;  
  12. private var isEnd : boolean = false;  
  13.   
  14. function Start () {  
  15.     renderer.material.SetTextureScale("_MainTex"new Vector2(1.0 / colCount, 1.0 / rowCount));  
  16.     renderer.material.SetTextureOffset("_MainTex"new Vector2(0, 0));  
  17. }  
  18.   
  19. function Update () {  
  20.     if (isEnd) {  
  21.         return;  
  22.     }  
  23.       
  24.     if (curTime >= lastTime + 1.0f / fps) {  
  25.         curCol++;  
  26.         if (curCol >= colCount) {  
  27.             curCol = 0;  
  28.             curRow++;  
  29.             if (curRow >= rowCount) {  
  30.                 if (!isLoop) {  
  31.                     isEnd = true;  
  32.                     return;  
  33.                 }  
  34.                 curRow = 0;  
  35.             }  
  36.         }  
  37.         renderer.material.SetTextureOffset("_MainTex"new Vector2(curCol * 1.0 / colCount, curRow * 1.0 / rowCount));  
  38.         lastTime = curTime;  
  39.     }  
  40.     else {  
  41.         curTime += Time.deltaTime;  
  42.     }  
  43. }