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

【Unity3D】【NGUI】Tweens

2013-12-11 18:29 281 查看
原文:http://www.tasharen.com/forum/index.php?topic=6760.0

NGUI讨论群:333417608
概述

NGUI自带小而精的Tween库。



可以右键widget之后在Tween菜单选择合适的选项来给它增加tween功能。或者通过NGUI菜单增加。或者直接通过名字来挂tween脚本。

新增的tween默认是active的,所以你点击Play后tween会运行。如果不想运行,勾选掉脚本名字那里的复选框。

所有的tween都继承自同样的基类(UITweener)并且有同样的基本功能。FromTo来表示开始和结束的值。Animation
Curve
用来与微调这两个值的变化过程。

Duration指定一次动画的时长。Start
Delay
进行延迟play。秒为单位。

Tween Group可以控制在同一个object上的多个tween触发哪个。播放时指定group
ID。

你可以通过指定button上的OnClick部分调用tween的Play()函数。



挂一个UIPlayTween脚本(Attach
-> Play Tween Script)实现高级的功能。提供更多的play时选项。



首先指定Tween Target。这个game
object需要至少一个tween,这样才可以触发。Include Child来激活这个object的所有子节点tween。

与上面的tween类似,Tween Group让你选择性的激活tween。

Trigger condition指定什么行为触发tween。Play
direction
决定play方式。如果target时disabled,你可以选择激活它或者保持原状(这样你故意设置为disabled的object所包含的tween就不会立即播放)。

如果tween正在play,可以选择restart让它立即从头play、继续播放,或者之后之前的play结束的话才play。可以设置tween后disable掉target——用来切换菜单的时候很管用。

最后,如果想在tween结束的时候调用其他功能函数,拖拽一个game object到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的Begin()函数来创建tween:
TweenPosition.Begin(tweenGameObject, duration, targetPosition);


类文档

http://tasharen.com/ngui/docs/class_u_i_tweener.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: