现在可以看到许多手游都有功能菜单栏伸缩的效果,可以节省屏幕的占用空间,起到美观的作用。实现这个功能很简单,方法也很多。下面我们就来看看其中的一种,使用NGUI的UIPlayTween的方式:
1.准备工作:首先建一个Scene,就叫TweenTest吧,然后把摄像机删掉,加入NGUI的UI Root。
2.加入一个UIButton,取名叫TweenBtn,给它挂载一个UIPlayTween脚本,配置如下:
3.在TweenBtn的节点下创建4个UIButton,如图所示:
这四个UIButton都需要挂载UIPlayTween脚本,并且要勾上Include Children选项,此外还要再挂一个TweenPosition脚本,属性From都为0,属性To的分别为Up:(0,100,0)、Down:(0,-100,0)、Left(-200,0,0)、Right(200,0,0)。
4.新建一个脚本TweenTest.cs,挂载在TweenBtn按钮上,代码如下:
using UnityEngine; using System.Collections; public class TweenTest : MonoBehaviour { void Start () { UIButton btn = GetComponent<UIButton>(); TweenPosition[] comps = GetComponentsInChildren<TweenPosition>(true); //获取TweenBtn节点下的所有TweenPosition脚本 EventDelegate.Set(btn.onClick, () => { foreach (TweenPosition com in comps) { com.gameObject.SetActive(true); if (com.enabled) { com.Play(true); //开始往正方向移动 return; } else { com.enabled = true; com.Play(false); //开始往反方向移动 } } }); } }
至此,我们就可以开始测试效果了!看看,还不错,快来试试吧~
Ricky Yang个人原创,版权所有,转载注明,谢谢。