iTween

Unity3d插件iTween的使用

iTween.cs 下载地址:http://pan.ceeger.com/viewfile.php?file_id=1830&file_key=0UJAymOJ

版本为2.0.43

 

一.iTween 介绍

iTween是一个动画库,目的是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等。

二.iTween 原理

iTween的核心是数值插值,简单说就是给iTween两个数值(开始值,结束值),它会自动生成一些中间值,例如:, 开始值-> 中间值 -> 中间值 …. -> 结束值。

这里的数值可以理解为: 数字,坐标点,角度,物体大小,物体颜色,音量大小等。

三.主要文件有两个iTween.cs 和 iTweenPath.unitypackage(编辑路径才需要这个包)

http://l6.yunpan.cn/lk/Qv44q7AV7emHG

四.如何将iTween 加入项目:

在项目中建立Plugins目录, 然后将下载的iTween.cs放到Plugins目录即可。

如果需要编辑路径, 使用import package->custom package菜单功能加入iTweenPath.unitypackage。

五.几种效果演示

 

1. 物体移动

iTween.MoveTo(gameObject,new Vector3(100,200,0),2);

其中第一个参数是要移动的物体
第二个参数是要移动到的目标点坐标
第三个参数是移动需要的时间,然后物体将在2秒之内移动到坐标点为(x=100,y=200,z=0)的位置。
如果你需要在物体移动过程中更好的控制,我们可以添加更多的参数(所有函数可用的参数列表可以参考http://itween.pixelplacement.com/documentation.php):

 

iTween.MoveTo(gameObject,iTween.Hash("position",new Vector3(100,200,0),"time",2));

 

这一段代码的效果与第一个例子效果是一样的,只是第二个参数是一个字典类型的数据,可以设置更多的参数。
通用的参数介绍如下:
position:坐标,包括x,y,z三个轴向
path:路径,是一个坐标数组,后面会讲到iTweenPath脚本的使用,配合着itweenPath可以让物体沿着路径点移动。
x:x轴向的位置,如果只设置了x轴,物体就只移动x轴,y,z轴不会改变
orienttopath:如果设置为true,物体移动到目标点的过程中,z轴会一直朝向下一个目标点
looktarget:物体朝向,物体在移动过程中会一直朝向我们设置的坐标点的坐标
islocal:当物体的目标点是相对于父节点的坐标,需要把isLocal设置为true,否则为false
time speed:这两个参数都可以控制物体移动的快慢
delay:延迟时间,当物体开始移动之前等待时间
easetype:移动模式,我们可以设置一些加速度的效果,这个参数值是一个枚举iTween.Easetype
looptype:循环模式,一共有三种模式
iTween.LoopType.none:不循环
iTween.LoopType.loop:循环,物体移动到终点后会跳到起点重新移动
iTween.LoopType.pingPong:来回循环,物体移动到终点后会再以相同的模式和时间再移动到起点,然后再移动到终点,一直循环
onstart:物体开始移动之前的回调函数
onstarttarget:回调函数接收对象,默认开始之前会向iTween.MoveTo函数的第一个参数的物体发送回调,根据需要在这里设置合适的回调接收者
onstartparams:回调方法的参数
onupdate:物体在移动过程中的回调函数
onupdatetarget:物体在移动过程中回调函数的接收者
onupdateparams:移动过程中回调函数的参数
oncomplete:物体移动完成后的回调
oncompletetarget:物体移动完成后的回调函数的接收者
oncompleteparams:物体移动完成后的回调函数的参数
ignoretimescale:忽略时间缩放,时间缩放是Time.timeScale = 0.5f; 默认值为1,如果我们把时间缩放值设置小于1,我们游戏的整体时间都会放慢,就像播放慢镜头一样,如果设置ignoretimescale为true,无论我们时间怎么缩放,对物体的移动都没有影响。
只要我们了解了itween的其中一个使用方式,其他的都是一样的做法。
我们可以做的动画有:位移,旋转,缩放,音量渐变,摄像机淡入淡出,颜色的渐变,物体振动等很多有用的动画。
2. 数值过渡

 

iTween.ValueTo(gameObject, iTween.Hash(
"from", y,
"to", toY,
"easetype", easeType,
"loopType", loopType,
"onupdate", "onupdate",
"time", tm
));

 

3. 振动

 

iTween.ShakePosition(target, new Vector3(0, 0.1f, 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"));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值