iTween插件 简单代码应用

来源:互联网 发布:直筒和滚筒洗衣机 知乎 编辑:程序博客网 时间:2024/06/06 03:34




tween缓动类会flash的朋友想必都用过,主要是用来做一些动效,很是方便,在google code上可以下载到不同的版本。目前已出现针对unity3d的tween类代码,不知实用性如何,下面是相关的简单介绍:
iTween for Unity3D类似于flash中的tween,补间动画
iTween for Unity3D可以下载到最新的JavaScript版本和C#版本。
安装
打开一个项目,然后直接把解压后的脚本文件拖动或者复制到图中位置
install.png 
例子1
//在两秒钟内,gameObject从当前位置移动到x为1.7的位置
iTween.moveTo(gameObject, {“x”:1.7, “time”:2});

  1. iTween.moveTo(gameObject,{"x":1.7, "time":2});
复制代码
例子2
private var go : GameObject;
private var cam : GameObject;
function Awake(){
go = gameObject;
cam = camera.main.gameObject;
}
function Start(){
// 0 ~ 1.5秒,go绕y轴从90度旋转0度,并从y=3.5移动到y=0的位置
iTween.rotateFrom(go,{“y”:90, “time”:1.5, “transition”:”easeInExpo”});
iTween.moveFrom(go,{“y”:3.5, “time”:1.5, “transition”:”easeInExpo”});
// 1.5 ~ 1.5 + 0.3秒,当前(r, g, b) -> (3, 0.5, 1.2)
iTween.colorTo(go,{“r”:3, “g”:.5, “b”:1.2, “time”:.3, “delay”:1.5});
// 1.5 ~ 1.5 + 0.8秒
iTween.shake(cam,{“y”:.3, “time”:.8, “delay”:1.5});
// 2.3 ~ 2.3 + 2秒,scaleY: 1 -> 2
iTween.scaleTo(go,{“y”:2, “time”:2, “delay”:2.3});
// 4.3 ~ 4.3 + 1秒,绕x轴旋转0.5 * 360度
iTween.rotateBy(go,{“x”:.5, “delay”:4.3});
// 4.6 ~ 4.6 + 1秒,从当前位置移动到y=1.2
iTween.moveTo(go,{“y”:1.2, “delay”:4.6});
// 5.8 ~ 5.8 + 1秒,从当前位置移动到y=0
iTween.moveTo(go,{“y”:0, “delay”:5.8, “transition”:”easeInExpo”});
// 6.8 ~ 6.8 + 0.8秒
iTween.shake(cam,{“y”:.3, “time”:.8, “delay”:6.8});
// 7.6 ~ 7.6 + 0.5秒,当前(r, g, b) -> (0.165, 0.498, 0.729)
iTween.colorTo(go,{“r”:.165, “g”:.498, “b”:.729, “time”:.5, “delay”:7.6});
// 7.6 ~ 7.6 + 1秒,scaleY: 当前比例 -> 1
iTween.scaleTo(go,{“y”:1, “delay”:7.6});
}
  1. private var go : GameObject;
  2. private var cam : GameObject;
  3. function Awake(){
  4. go = gameObject;
  5. cam = camera.main.gameObject;
  6. }
  7. function Start(){
  8. iTween.rotateFrom(go,{"y":90, "time":1.5, "transition":"easeInExpo"});
  9. iTween.moveFrom(go,{"y":3.5, "time":1.5, "transition":"easeInExpo"});
  10. iTween.colorTo(go,{"r":3, "g":.5, "b":1.2, "time":.3, "delay":1.5});
  11. iTween.shake(cam,{"y":.3, "time":.8, "delay":1.5});
  12. iTween.scaleTo(go,{"y":2, "time":2, "delay":2.3});
  13. iTween.rotateBy(go,{"x":.5, "delay":4.3});
  14. iTween.moveTo(go,{"y":1.2, "delay":4.6});
  15. iTween.moveTo(go,{"y":0, "delay":5.8, "transition":"easeInExpo"});
  16. iTween.shake(cam,{"y":.3, "time":.8, "delay":6.8});
  17. iTween.colorTo(go,{"r":.165, "g":.498, "b":.729, "time":.5, "delay":7.6});
  18. iTween.scaleTo(go,{"y":1, "delay":7.6});
  19. }
复制代码
缓动
easeIn方法控制补间如何从开始到最高速度
easeOut方法控制补间减速并停在目标位置
easeInOut同时控制上述两者
参数意义可参考Flex中的缓动类
Back 类可以定义三个缓动函数,以使用 Flex 效果类实现运动。
Bounce 类可以定义三个缓动函数,以便使用 Flex 效果类实现回弹运动。
Circular 类可以定义三个缓动函数,以使用 Flex 效果类实现 circular 运动。
Cubic Cubic 类可以定义三个缓动函数,以便使用 Flex 效果类实现运动。
Elastic Elastc 类可以定义三个缓动函数,以便使用 Flex 效果类实现运动,其中的运动由按指数方式衰减的正弦波来定义。
Exponential Exponential 类可以定义三个缓动函数,以便使用 Flex 效果类实现运动,其中的运动由按指数方式衰减的正弦波来定义。
Linear Linear 类可以定义缓动函数,以便使用 Flex 效果类实现线性运动。
Quadratic Quadratic 类可以定义三个缓动函数,以使用 Flex 效果类实现 quadratic 运动。
Quartic Quartic 类可以定义三个缓动函数,以使用 Flex 效果类实现运动。
Quintic Quintic 类可以定义三个缓动函数,以便使用 Flex 效果类实现运动。
Sine Sine 类可以定义三个缓动函数,以便使用 Flex 效果类实现运动,其中的运动由正弦波定义。
var addthis_language = ‘en’;

开发者网站:http://itween.pixelplacement.com/



原创粉丝点击