NGUI tween怎么用
今天我们来具体了解一下NGUI插件中Tween的使用方法。
NGUI的Tween库概述
NGUI自带了一个小而精悍的Tween库。借助这个库,我们能够轻松为UI元素添加各种动画效果。
为对象添加Tween功能的方式
手动添加
可以右键点击Widget,然后在Tween菜单中选择合适的选项,为其添加Tween功能;也可以通过NGUI菜单进行添加;还能直接通过脚本名称挂载Tween脚本。
注意事项
新增的Tween默认处于激活(active)状态,因此点击Play后Tween会立即运行。若不想让其运行,可勾选掉脚本名称旁的复选框。
Tween的基本属性及功能
继承基类与基本功能
所有的Tween都继承自同一个基类 UITweener,并具备相同的基本功能:
From和To:分别表示动画开始和结束时的值。Animation Curve:用于微调From和To这两个值的变化过程。
动画时长与延迟播放
Duration:指定一次动画的持续时长。Start Delay:用于设置动画延迟播放的时间,单位为秒。
Tween Group
Tween Group 可控制在同一个对象上的多个Tween的触发顺序。在播放时,需要指定Group ID。
触发Tween的方式
通过按钮点击触发
可以通过指定按钮的 OnClick 部分,调用Tween的 Play() 函数来触发动画。
使用UIPlayTween脚本实现高级功能
挂载一个 UIPlayTween 脚本(Attach -> Play Tween Script),能实现更高级的功能,该脚本提供了更多播放时的选项:
- 指定Tween Target:这个游戏对象至少需要包含一个Tween,这样才能触发动画。
- Include Child:用于激活该对象所有子节点上的Tween。
- Tween Group:与前面提到的类似,可选择性地激活Tween。
- Trigger condition:指定触发Tween的行为。
- Play direction:决定动画的播放方式。
- Target状态处理:如果目标对象处于禁用(disabled)状态,你可以选择激活它或者保持原状,这样你故意设置为禁用的对象所包含的Tween就不会立即播放。
- 播放状态控制:如果Tween正在播放,你可以选择重新开始(restart)让它立即从头播放、继续播放,或者等待之前的播放结束后再播放。
- 播放后处理:可以设置在Tween播放结束后禁用目标对象,这在切换菜单时非常有用。
- 结束回调:如果想在Tween结束时调用其他功能函数,可将一个游戏对象拖拽到
Notify属性中,并选择想要调用的函数。和所有的NGUI通知一样,函数需要声明为public void FuncName (void)类型,示例代码如下:public void MyNotification () { Debug.Log(UITweener.current.name + " has finished playing!"); }
小贴士
特殊动画效果
通过将 Animation Curve 调整成 “U” 的形状,可以实现一个值从 From 变化到 To 之后再回到 From 的动画效果。
链式触发
可以在 OnFinished 中进行Tween的链式触发,直接调用 Play() 函数。
直接创建Tween
可以直接使用Tween的 Begin() 函数来创建Tween,示例代码如下:
TweenPosition.Begin(tweenGameObject, duration, targetPosition);
类文档
更多详细信息可参考类文档:http://tasharen.com/ngui/docs/class_u_i_tweener.html