unity3D游戏开发十六之NGUI三

接下来我们看下ProgeressBar,进度条,它是UISlider和UIScrollBar的基类,属性如下图:


Value:百分比

Alpha:透明度

Steps:步阀阈值

Appearance:特性

a.Foreground(前景图片)

b.Background(背景图片)

d.Direction(滑动方向)

On Value Change:当滑动时,进行事件分发

下面我们做一个进度条,每过一秒进度加1,准备两个sprite作为前景图片跟背景图片,如下图:


我们修改Test脚本,代码如下图:

[csharp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class Test : MonoBehaviour {  
  5.   
  6.   
  7.   
  8.     //public UIInput username;   
  9.   
  10.     public UIProgressBar progressBr;  
  11.   
  12.     private UILabel plabel;  
  13.   
  14.     void Awake ()  
  15.     {  
  16.   
  17. //      Debug.Log("----111");  
  18. //      //获取需要监听的按钮对象  
  19. //      GameObject button=GameObject.Find("UI Root (2D)/Camera/Anchor/Panel/Button");  
  20. //      //设置这个按钮的监听,指向本类的ButtonClick方法中  
  21. //      UIEventListener.Get(button).onClick=buttonClick;  
  22.   
  23.   
  24.         progressBr=GetComponent<UIProgressBar>();  
  25.         progressBr.value=0;  
  26.   
  27.   
  28.         GameObject ob=GameObject.FindWithTag("111");  
  29.   
  30.   
  31.         plabel=ob.GetComponent<UILabel>();  
  32.   
  33.   
  34.   
  35.   
  36.     }  
  37.   
  38.   
  39.     // Use this for initialization  
  40.     void Start ()   
  41.     {  
  42.       
  43.   
  44.   
  45.     }  
  46.       
  47.     // Update is called once per frame  
  48.     void Update ()  
  49.     {  
  50.   
  51.         if(progressBr!=null)  
  52.         {  
  53.   
  54.   
  55.             progressBr.value+=0.01f*Time.deltaTime;  
  56.   
  57.   
  58.             string shuzhi=(progressBr.value * 100).ToString("#0.00");  
  59.             plabel.text=shuzhi+"%";  
  60.   
  61.   
  62.         }  
  63.   
  64.   
  65.       
  66.     }  
  67.   
  68.   
  69.   
  70. //  void buttonClick(GameObject button)  
  71. //  {  
  72. //  
  73. //  
  74. //      Debug.Log("username:"+username.value);  
  75. //  
  76. //  //  Debug.Log("GameObject:"+button.name);  
  77. //  
  78. //  
  79. //  }  
  80.   
  81.   
  82. }  
绑定脚本,设置对象,如下图:


预览游戏,如下图:


下面我们看下UISlider,UISlider组件可以用来创建一个简单的slider和进度条。继承了UIProgressBar的所有功能,之后增加了可选的滑块,属性如下图:


效果如下:


接下来我们看下UIScrollBar,UIScrollBar用来创建滚动条——可变长度的滑动条在大小固定的区域移动。它继承了所有UIprogressBar的功能,仅仅修改了前景的显示方式,变为可以被移动位置并且可以交互,属性如下图:


与UISlider类似,UIScrollBar需要引用一个Foreground widget。当Size值为1(100%)的时候,这个widget就会占用滚动条的最大尺寸,效果如下图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值