http://www.robertpenner.com/easing/easing_demo.html
一.iTween 介绍
iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等
二.iTween 原理
iTween的核心是数值插值,简单说就是给iTween两个数值(开始值,结束值),它会自动生成一些中间值,大概像这样子,开始值->中间值 ->中间值 …. ->结束值。
这里的数值可以理解为: 数字,坐标点,角度,物体大小,物体颜色,音量大小等
三.iTween 下载: 从官网http://itween.pixelplacement.com下载
主要文件有两个iTween.cs 和 iTweenPath.unitypackage(编辑路径才需要这个包)
四.如何将iTween 加入项目:
在项目中建立Plugins目录,然后将下载的iTween.cs放到Plugins目录即可.
如果需要编辑路径, 使用import package->custom package菜单功能加入iTweenPath.unitypackage
五.几种效果演示
六.示例代码:
1. 物体移动
iTween.MoveTo(target, iTween.Hash("position", destPos, "easetype", easeType));
2. 数值过渡
iTween.ValueTo(gameObject, iTween.Hash(
"from", y,
"to", toY,
"easetype", easeType,
"loopType", loopType,
"onupdate", "onupdate",
"time", tm
));
3. 振动
iTween.ShakePosition(target, Vector3(0, 0.1, 0), 1);
4. 按路径移动
var path = GameObject.Find("Plane").GetComponent("iTweenPath").GetPath("myPath");
iTween.MoveTo(gameObject, iTween.Hash(//"position", Vector3(0, 0, 0),
"path", path,
"time", 20,
"easetype", "linear"));
动态效果列表
easeInQuad
easeOutQuad
easeInOutQuad
easeInCubic
easeOutCubic
easeInOutCubic
easeInQuart
easeOutQuart
easeInOutQuart
easeInQuint
easeOutQuint
easeInOutQuint
easeInSine
easeOutSine
easeInOutSine
easeInExpo
easeOutExpo
easeInOutExpo
easeInCirc
easeOutCirc
easeInOutCirc
linear
spring
bounce
easeInBounce
easeOutBounce
easeInOutBounce
easeInBack
easeOutBack
easeInOutBack
easeInElastic
easeOutElastic
easeInOutElastic
六.路径编辑
1. 将iTweenPath.cs拖至某个游戏对象上,这个游戏对象的就会多出如下属性,
下图表示路径由5个节点组成,路径名称为myPath
2. 可以手工填写节点坐标,也可以在场景中调整节点坐标