您的位置:首页 > 移动开发 > Unity3D

Unity之iTween插件初探Move移动

2015-11-04 11:17 288 查看
iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等。

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

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

这里介绍移动模型时候用到的几个核心方法如下:

iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.position完成的,所以它会百分之百到达目标点,不会出现误差。

iTween.MoveFrom():它和上面的一样,iTween.MoveTo()是将模型移动到目标位置,而iTween.MoveFrom()是将模型从目标位置移动到原始位置。

iTween.MoveAdd() 和iTween.MoveBy()底层实现一样,大家可以去看源码。处理移动时采用的是transform.Translate也就是API的平移,这样在处理移动的时候可能会出现一些误差,但是效果好点。

iTween.MoveUpdate():和iTween.MoveTo()差不多,只是它需要放在循环或者Update()中。

下面用MoveTo()做演示:


using UnityEngine;
using System.Collections;

public class ItweenText : MonoBehaviour {

public Transform[] paths;
// Use this for initialization
void Start () {
Hashtable hash = new Hashtable();
hash.Add("path",paths);//路径
hash.Add("easeType",iTween.EaseType.linear);//类型为线性
hash.Add("speed",5f);//移动速度
hash.Add("movetopath", true); //从初始位置移动到第一个位置
hash.Add("delay",0.1f);   //延迟
//hash.Add("looktarget", Vector3.zero);    //朝向
hash.Add("looptype", iTween.LoopType.loop);  //循环方式
hash.Add("orienttopath", true);//朝向下一个

//让模型开始寻路
iTween.MoveTo(gameObject, hash);
}
void OnDrawGizmos()
{
iTween.DrawLine(paths, Color.green);
iTween.DrawPath(paths, Color.red);
}

}


将脚本拖至希望移动的物体上

[b]


[/b]

[b]将路点拖至到Paths中,效果如下[/b]

[b]


[/b]
一个简单的定点移动就形成了,大家可以基础上做拓展,简单赛车、定点塔防中都可以用到!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: