Unity3D使用UIPlayTween和TweenPosition实现面板的动态弹出与弹入

转载自:http://demo.netfoucs.com/g__dragon/article/details/17465509

利用NGUI自带的脚本控件实现按钮点击窗口滑动出现与隐藏。

创建界面

首先建立如下图的三个BUtton与三个Panel

绑定脚本

然后在每个Button上添加UIPlayTween脚本,在Interaction中。将Panel1拖到Button1的TweenTarget上,如图。以此类推,注意TweenGroup应该不同,一个Button与一个Panel要对应在一个Group下,Play direction设置为Toggle,这样可以重复移动。

再将TweenPosition脚本添加到每个Panel上,脚本在Tween中。

设置起始,终止位置

将Panel移到窗口以外,记录窗口起始位置,将Position的XYZ记录到TweenPosition的From下的XYZ,

再将panel拖到窗口内,将窗口结束位置记录到TweenPosition的To位置。意思很简单。设置物体的起始位置与终止位置

注意,这里也要将对应的TweenGroup更改下,一个Button和一个Panel的Group要一样。

这时运行会发现panel会自己动起来,把TweenPosition的脚本禁用(就是把前面的对钩勾掉),如图。

运行,你会发现,点击Button1,Panel从窗口外滑动进来,再次点击,窗口又会滑动出去。这就是Direction设置为Toggle的作用,简单的UIpalyTween的用法实现了。

 

点击按钮让上次显示的窗体返回,本次显示的窗体前进

方法如下:

//点击建立新窗体,关闭上次打开的窗体
    void fnChangePanel(GameObject obj)
    {
        if (_BtnLast != obj&&_BtnLast!=null)
        {
            _BtnLast.GetComponent<UIPlayTween>().Play(false);//设置上一次保存的向前移动的窗体向后运动

            
        }
        _BtnLast = obj;
    }

此方法需要在Button上的UIPlayTween脚本上更改Play direction属性为Forward,不能是Toggle了,否则会有逻辑问题。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值