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就會佔用滾動條的最大尺寸,效果如下圖:

發佈了98 篇原創文章 · 獲贊 15 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章