iTween的用法总结

时间:2023-02-19 12:37:01

Unity3D插件-iTween的基本用法


本文提供全流程,中文翻译。

Chinar坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)


1

Introduce —— 基本介绍

iTween 官网—— iTween官方文档介绍(英文薄弱,可以用“360极速浏览器”自带的谷歌翻译功能)

推荐看下官方文档的介绍,里边的提供了键值对的解释。结合 Hash() 函数,往里边填值即可

几乎所有 iTween 提供函数用法,都需传入对象,和一个哈希表。

而 iTween 提供了一个 Hash() 函数,不用实例化哈希表,往里边一个一个Add键值对。直接Hash()函数里加入需要的键值对,来达到我们想要的效果

iTween的用法总结

iTween的用法总结

iTween 支持的功能:

iTween的用法总结



控制音频:AudioFrom、AudioTo、AudioUpdate、Stab



控制相机:CameraFadeAdd、CameraFadeDepth、CameraFadeDestroy、CameraFadeSwap、CameraFadeFrom、CameraFadeTo、CameraTexture



变色控制:ColorFrom、ColorTo、ColorUpdate



绘制相关:DrawLine、DrawLineGizmos、DrawLineHandles、DrawPath、DrawPathGizmos、DrawPathHandles



淡入淡出:FadeFrom、FadeTo、FadeUpdate



视角控制:LookFrom、LookTo、LookUpdate、LookType



移动控制:MoveAdd、MoveBy、MoveFrom、MoveTo、MoveUpdate



路径操作:PutOnPath、PointOnPath



旋转操作:RotateAdd、RotateBy、RotateFrom、RotateTo、RotateUpdate



缩放操作:ScaleAdd、ScaleBy、ScaleFrom、ScaleTo、ScaleUpdate



震动控制:ShakePosition、ShakeRotation、ShakeScale



其他:Count、PathLength、EaseType(动画过度类型)、FloatUpdate、Hash、Init、Pause、Resume、Stop、StopByName、PunchPosition、PunchRotation、PunchScale、RectUpdate、ValueTo、Vector2Update、Vector3Update


2

EaseType —— 缓冲函数

iTween 中定义了许多 EaseType 类型

是不同的 贝赛尔曲线 函数 :实现不同的过渡效果

这里都不一一列举,如果需要测试自己想要的效果,而又不知道该使用哪个函数。

可以看下网络大神提供的网站*,一目了然↓

iTween的用法总结

曲线实例图解

球体运动图解

iTween的用法总结


3

Hashtable Usage —— 哈希表的用法

Hash() —— 哈希函数中的键值对顺序随意,但 键 必须按照官方要求去写,是固定的

iTween的用法总结

using UnityEngine;

/// <summary>
/// 测试iTween——哈希表类
/// </summary>
public class TEST1 : MonoBehaviour
{
public GameObject TargetGameObject; //目标物体:添加目标物体到inspector面板中
public float Time = 2; //过渡时间
public iTween.EaseType ITweenType; //过渡动画曲线类型:可以外部调节 /// <summary>
/// 更新函数
/// </summary>
void Update()
{
if (Input.GetMouseButtonDown(0)) //如果点击鼠标左键
{
//iTween.MoveTo(TargetGameObject, new Vector3(3, 3, 3), Time); //移动(目标物体,目标位置,时间) //Hashtable args = new Hashtable(); //实例化一个哈希表对象
//args.Add("x", 3); //添加x坐标:3
//args.Add("time", 2); //时间为:2秒
//args.Add("delay", 0.1); //延时:0.1秒
//args.Add("oncomplete", "onupdatefunction"); //动画结束时:回调函数
//args.Add("oncompletetarget", gameObject); //调用目标物体,脚本的 完成方法 onpupdatefunction
//args.Add("looptype", "pingpong"); //过度动画类型:来回动画(可自己定义,根据iTween提供的贝塞尔曲线函数,来达到想要的效果)
//iTween.MoveTo(TargetGameObject, args); //移动物体(目标物体,哈希表) //和上边方式一模一样,用iTween的Hash()函数,直接添加即可
iTween.MoveTo(TargetGameObject,iTween.Hash("looptype", "pingpong", "oncompletetarget", gameObject, "oncomplete", "onupdatefunction", "delay", 0.1,"x", 3, "time", 2, "easetype", ITweenType));
} if (Input.GetMouseButtonDown(1)) //如果点击鼠标右键
{
TargetGameObject.transform.position = Vector3.zero; //把物体位置归零
}
} /// <summary>
/// 打印数字:名字自定义
/// </summary>
private void onupdatefunction()
{
print("动画完毕");
}
}

iTween的用法总结


4

Example —— 例子1- - 抛物线运动

这是一个官方的例子,照着写的

MoveTo —— 移动到指定坐标

MoveBY —— 在自身的基础上,做增量移动

iTween的用法总结

using UnityEngine;

/// <summary>
/// 球体自身挂载的脚本
/// </summary>
public class MySphere : MonoBehaviour
{
public Vector3 TargetPos; //目标位置
private GameObject Sphere; //子物体 圆球的位置
public iTween.EaseType ShangEaseType; //上过度动画的类型
public iTween.EaseType XiaEaseType; //下过度动画的类型 /// <summary>
/// 初始化方法
/// </summary>
void Start()
{
Sphere = transform.Find("Sphere").gameObject; //找到球体预设物的子物体:Sphere
iTween.MoveTo(gameObject, iTween.Hash("time", .7, "position", TargetPos, "easetype", iTween.EaseType.easeOutCubic)); //移动到青色球所在的位置
iTween.FadeTo(gameObject, iTween.Hash("time", .5, "delay", 3, "alpha", 0, "onComplete", "DestroyTarget")); //修改透明度
iTween.MoveBy(Sphere, iTween.Hash("time", .35, "y", 5, "easetype", ShangEaseType)); //移动球体预设物子物体Sphere 相对位置 y轴 到5:即向上移动
iTween.MoveBy(Sphere, iTween.Hash("delay", .35, "time", .35, "y", -5, "easetype", XiaEaseType)); //向下移动,并调用方法
//MoveBY是在自身的基础上,做增量移动
//MoveTo是移动到指定坐标
} /// <summary>
/// 删除物体
/// </summary>
private void DestroyTarget()
{
Destroy(gameObject); //删除物体
}
}

using UnityEngine;

/// <summary>
/// 测试脚本——球体运动类,挂在空物体
/// </summary>
public class Test_1 : MonoBehaviour
{
public GameObject SphereGameObject; //球体预设物
public Transform CyanTransform; //中心球体的位置:青色球体位置 /// <summary>
/// 更新函数
/// </summary>
void Update()
{
RaycastHit hitinfo; //碰撞对象
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //屏幕点转射线 —— 拿到射线对象
bool isCollider = Physics.Raycast(ray, out hitinfo); //射线是否照射到碰撞对象: hitinfo —— 返回bool值
if (isCollider && hitinfo.collider.tag == "Ground") //如果照射到,并且对象标签是 “Ground”(标签需要自己设定地面为"Ground")
{
CyanTransform.position = hitinfo.point; //移动红色物体的坐标 —— 到被照射的点上
}
if (Input.GetMouseButtonDown(0)) //如果点击鼠标左键
{
Spawn(); //调用生成方法
}
} /// <summary>
/// 生成物体
/// </summary>
void Spawn()
{
GameObject go = (GameObject) Instantiate(SphereGameObject); //实例化物体
go.GetComponent<MySphere>().TargetPos = CyanTransform.position; //给物体身上的脚本中的 目标位置TargetPos 赋值:青色球体的位置
}
}

iTween的用法总结


支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)



1 —— 云服务器超全购买流程 (新手必备!)



2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)



3—— Windows 服务器配置、运行、建站一条龙 !



4 —— Linux 服务器配置、运行、建站一条龙 !


iTween的用法总结

" role="presentation">

技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究


对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com


对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

iTween的用法总结的更多相关文章

  1. 为 iTween 指定特定的回调 &colon; onupdate&comma; oncomplete

    问题地址:Specifying a delegate for the value of onupdate in iTween 1.找到 void CallBack 2.修改以下代码: void Cal ...

  2. iTween基础之Move&lpar;移动&rpar;

    1,五种移动方法:2, 函数的基础属性及用法 原文地址:http://blog.csdn.net/dingkun520wy/article/details/50476864 iTween官网:http ...

  3. Unity3d插件iTween的使用

    iTween.cs 下载地址:http://pan.ceeger.com/viewfile.php?file_id=1830&file_key=0UJAymOJ 版本为2.0.43 一.iTw ...

  4. Unity 项目中委托Delegate用法案例

    Unity中Delegate的用法场景 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ...

  5. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  6. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  7. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  8. &lbrack;转载&rsqb;C&num;中MessageBox&period;Show用法以及VB&period;NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  9. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

随机推荐

  1. 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  2. ASP&period;NET MVC 系列随笔汇总&lbrack;未完待续……&rsqb;

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  3. JavaScript学习笔记——DOM&lowbar;document对象

    javascript-document对象详解 DOM document(html xml) object modledocument对象(DOM核心对象) 作用: 1.内容 innerHTML 2. ...

  4. Nodepad&plus;&plus; tab改成4个空格

    设置-首选项-选项卡设置-使用空格替换

  5. C&plus;&plus; 中判断非空的错误指针

    最近在写网络上的东西,程序经过长时间的运行,会出现崩溃的问题,经过DUMP文件的查看,发现在recv的地方接收返回值的时候,数据的长度异常的大差不多16亿多字节.而查看分配后的char指针显示为错误的 ...

  6. C&num;开发-ftp操作方法整理

    1.整理简化了下C#的ftp操作,方便使用    1.支持创建多级目录    2.批量删除    3.整个目录上传    4.整个目录删除    5.整个目录下载 2.调用方法展示, var ftp ...

  7. Arduino传感器学习目录

    Arduino-接口图  在Windows上安装Arduino-IDE  函数库和程序架构介绍   Arduino语法-变量和常量 Arduino常用的数据类型以及转换  Arduino—运算符   ...

  8. 近端梯度算法(Proximal Gradient Descent)

    L1正则化是一种常用的获取稀疏解的手段,同时L1范数也是L0范数的松弛范数.求解L1正则化问题最常用的手段就是通过加速近端梯度算法来实现的. 考虑一个这样的问题: minx  f(x)+λg(x) x ...

  9. Java知多少(66)输入输出&lpar;IO&rpar;和流的概述

    输入输出(I/O)是指程序与外部设备或其他计算机进行交互的操作.几乎所有的程序都具有输入与输出操作,如从键盘上读取数据,从本地或网络上的文件读取数据或写入数据等.通过输入和输出操作可以从外界接收信息, ...

  10. 转:sqlplus使用总结

    为什么我要使用sqlplus: SQLPLUS很多人用的并不多,在我观察周围来看,很多人都在使用PLSQL DEVELOPER,尤其是开发人员,更是如此,那学习SQLPLUS有啥好处呢?在我看来有如下 ...