您的位置:首页 > 编程语言

iTween插件 简单代码应用

2012-09-10 14:48 288 查看
tween缓动类会flash的朋友想必都用过,主要是用来做一些动效,很是方便,在google code上可以下载到不同的版本。目前已出现针对unity3d的tween类代码,不知实用性如何,下面是相关的简单介绍:
iTween for Unity3D类似于flash中的tween,补间动画。
去iTween for Unity3D可以下载到最新的JavaScript版本和C#版本。
安装
打开一个项目,然后直接把解压后的脚本文件拖动或者复制到图中位置


 
例子1
//在两秒钟内,gameObject从当前位置移动到x为1.7的位置
iTween.moveTo(gameObject, {“x”:1.7, “time”:2});

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});
}

private var go : GameObject;
private var cam : GameObject;

function Awake(){
go = gameObject;
cam = camera.main.gameObject;
}

function Start(){
iTween.rotateFrom(go,{"y":90, "time":1.5, "transition":"easeInExpo"});
iTween.moveFrom(go,{"y":3.5, "time":1.5, "transition":"easeInExpo"});
iTween.colorTo(go,{"r":3, "g":.5, "b":1.2, "time":.3, "delay":1.5});
iTween.shake(cam,{"y":.3, "time":.8, "delay":1.5});
iTween.scaleTo(go,{"y":2, "time":2, "delay":2.3});
iTween.rotateBy(go,{"x":.5, "delay":4.3});
iTween.moveTo(go,{"y":1.2, "delay":4.6});
iTween.moveTo(go,{"y":0, "delay":5.8, "transition":"easeInExpo"});
iTween.shake(cam,{"y":.3, "time":.8, "delay":6.8});
iTween.colorTo(go,{"r":.165, "g":.498, "b":.729, "time":.5, "delay":7.6});
iTween.scaleTo(go,{"y":1, "delay":7.6});
}

复制代码
缓动
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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: