接下来我们看下ProgeressBar,进度条,它是UISlider和UIScrollBar的基类,属性如下图:
Value:百分比
Alpha:透明度
Steps:步阀阈值
Appearance:特性
a.Foreground(前景图片)
b.Background(背景图片)
d.Direction(滑动方向)
On Value Change:当滑动时,进行事件分发
下面我们做一个进度条,每过一秒进度加1,准备两个sprite作为前景图片跟背景图片,如下图:
我们修改Test脚本,代码如下图:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
//public UIInput username;
public UIProgressBar progressBr;
private UILabel plabel;
void Awake ()
{
// Debug.Log("----111");
// //获取需要监听的按钮对象
// GameObject button=GameObject.Find("UI Root (2D)/Camera/Anchor/Panel/Button");
// //设置这个按钮的监听,指向本类的ButtonClick方法中
// UIEventListener.Get(button).onClick=buttonClick;
progressBr=GetComponent<UIProgressBar>();
progressBr.value=0;
GameObject ob=GameObject.FindWithTag("111");
plabel=ob.GetComponent<UILabel>();
}
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if(progressBr!=null)
{
progressBr.value+=0.01f*Time.deltaTime;
string shuzhi=(progressBr.value * 100).ToString("#0.00");
plabel.text=shuzhi+"%";
}
}
// void buttonClick(GameObject button)
// {
//
//
// Debug.Log("username:"+username.value);
//
// // Debug.Log("GameObject:"+button.name);
//
//
// }
}
绑定脚本,设置对象,如下图:
预览游戏,如下图:
下面我们看下UISlider,UISlider组件可以用来创建一个简单的slider和进度条。继承了UIProgressBar的所有功能,之后增加了可选的滑块,属性如下图:
效果如下:
接下来我们看下UIScrollBar,UIScrollBar用来创建滚动条——可变长度的滑动条在大小固定的区域移动。它继承了所有UIprogressBar的功能,仅仅修改了前景的显示方式,变为可以被移动位置并且可以交互,属性如下图:
与UISlider类似,UIScrollBar需要引用一个Foreground widget。当Size值为1(100%)的时候,这个widget就会占用滚动条的最大尺寸,效果如下图: