NGUI tween怎么用

2015年01月20日 10:29 0 点赞 0 评论 更新于 2025-11-21 14:53

今天我们来具体了解一下NGUI插件中Tween的使用方法。

NGUI的Tween库概述

NGUI自带了一个小而精悍的Tween库。借助这个库,我们能够轻松为UI元素添加各种动画效果。

为对象添加Tween功能的方式

手动添加

可以右键点击Widget,然后在Tween菜单中选择合适的选项,为其添加Tween功能;也可以通过NGUI菜单进行添加;还能直接通过脚本名称挂载Tween脚本。

注意事项

新增的Tween默认处于激活(active)状态,因此点击Play后Tween会立即运行。若不想让其运行,可勾选掉脚本名称旁的复选框。

Tween的基本属性及功能

继承基类与基本功能

所有的Tween都继承自同一个基类 UITweener,并具备相同的基本功能:

  • FromTo:分别表示动画开始和结束时的值。
  • Animation Curve:用于微调 FromTo 这两个值的变化过程。

动画时长与延迟播放

  • Duration:指定一次动画的持续时长。
  • Start Delay:用于设置动画延迟播放的时间,单位为秒。

Tween Group

Tween Group 可控制在同一个对象上的多个Tween的触发顺序。在播放时,需要指定Group ID。

触发Tween的方式

通过按钮点击触发

可以通过指定按钮的 OnClick 部分,调用Tween的 Play() 函数来触发动画。

使用UIPlayTween脚本实现高级功能

挂载一个 UIPlayTween 脚本(Attach -> Play Tween Script),能实现更高级的功能,该脚本提供了更多播放时的选项:

  1. 指定Tween Target:这个游戏对象至少需要包含一个Tween,这样才能触发动画。
  2. Include Child:用于激活该对象所有子节点上的Tween。
  3. Tween Group:与前面提到的类似,可选择性地激活Tween。
  4. Trigger condition:指定触发Tween的行为。
  5. Play direction:决定动画的播放方式。
  6. Target状态处理:如果目标对象处于禁用(disabled)状态,你可以选择激活它或者保持原状,这样你故意设置为禁用的对象所包含的Tween就不会立即播放。
  7. 播放状态控制:如果Tween正在播放,你可以选择重新开始(restart)让它立即从头播放、继续播放,或者等待之前的播放结束后再播放。
  8. 播放后处理:可以设置在Tween播放结束后禁用目标对象,这在切换菜单时非常有用。
  9. 结束回调:如果想在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

作者信息

feifeila

feifeila

共发布了 3994 篇文章