【Unity3D】【NGUI】UIPlayAnimation

38 篇文章 3 订阅
21 篇文章 0 订阅

原文:http://www.tasharen.com/forum/index.php?topic=6762.0

NGUI讨论群:333417608

概述


UIPlayAnimation通过你选择的事件条件去触发其他的动画。它和UIPlayTween的区别就是它处理的是动画。



给widget增加动画的最好好发就是点击ctrl+6来打开Animation窗口。

如果你只是试验一下,你可以直接用NGUI提供的Checkmark动画。无论用哪种方法,你需要勾选掉Play Automatically选项,否则在你点击Play的时候,这个动画就会被运行。

为了触发其他动画,挂一个UIPlayAnimation组件(Attach -> Play Animation)。你会很乐意看到有这么多可以选择的选项。

先选择Clip Name,就是动画里面会播放的clip的名字。如果你的动画里面只有一个动画,那么这里可以为空。

Trigger Condition让你选择动画的触发方式,Play Direction可以控制动画播放的方向。还可以控制Selected Object。这个是考虑到当开发一个基于控制器的游戏,一些东西需要一直被选中,但是当用动画隐藏一个窗口,弹出了另外的一个,你可能更像让当前的选择变到另外的按键上。 

如果target是disabled状态,你可以选择activate它或者让它保持disabled。一个动画是淡出一个窗口和淡入一个窗口,你需要为淡出窗口的When finished指定为Disable,为淡入的指定为Enable then play。这会保证在淡出的时候被disabled但在淡入的时候又被enabled。

动画已经开始的话,可以选择restart让动画从头开始播放。


最后如果想要在动画完成后执行一些函数,你可以把目标game object拖拽到Notify属性里并且选择合适的函数在下拉列表里面。函数的声明需要是“public void FuncName (void)”这样的。比如:

public void MyNotification ()
{
    Debug.Log(ActiveAnimation.current.name + " has finished playing!");
}


小贴士

  • 可以通过代码直接播放动画,使用函数ActiveAnimation.Play():

ActiveAnimation.Play(targetAnimation, AnimationOrTween.Direction.Forward);


类文档


http://tasharen.com/ngui/docs/class_u_i_play_animation.html
http://tasharen.com/ngui/docs/class_active_animation.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值