UGUI的創(chuàng)建
注意:新建UI時會自動生成Canvas建的控件都是Canvas的子物體
點(diǎn)擊GaneObject列表下的UI在右側(cè)就出現(xiàn)你要用到的控件(如圖1-1)
Text控件
以下圖片對text控件各個屬性進(jìn)行介紹(如圖1-2)
用代碼控制Text控件
Text _text;? ??
void Awake()??
? { ? ? ?
?_text = transform.Find("Text").GetComponent();//查找到該控件
}
void Start () {
_text.text = "歡迎你千年大帥逼!";//改變text內(nèi)容
_text.color = Color.yellow;//改變內(nèi)容顏色
}
Image控件
以下圖片對Image控件各個屬性進(jìn)行介紹(如圖1-3)
實現(xiàn)倒計時代碼
Image _image;? ??
Text _text;??
? float _timer = 1f;
? ? int _num = 5;? ?
?void Awake()? ?
?{?
?? ? ? _image = GetComponent(); ? ? ??
_text = transform.Find("num").GetComponent();
_text.text = _num.ToString();
_image.fillAmount = 0;
}
void Update () {
// 結(jié)束 倒計時的判斷
if (_num==0)
{
_image.fillAmount = 1;
_text.fontSize = 20;
_text.text = "開始";
return;
}
//處理倒計時
_timer -= Time.deltaTime;
if (_timer<=0)
{
_timer = 1;
_num--;
_text.text = _num.ToString();
}
//處理圖片
_image.fillAmount += Time.deltaTime;
if (_image.fillAmount ==1)
{
_image.fillAmount = 0;
}
panel控件
Button控件
為Botton添加事件
1.點(diǎn)擊如圖1-5所示地方選中彈出的選項
2點(diǎn)擊如圖1-6圈中的東西在彈出的框中選中Button
3.根據(jù)圖1-7所示步驟就可以找到自己在類中寫的Public方法添加為該Button事件
Canvas三種模式
圖1-8三種模式分別代表
Toggle淤堵,Slider胸哥,Button共同實現(xiàn)控制一個音頻的播放與音量變化
AudioSource _AS;?
?? Button _stopButton;? ?
?Toggle _onToggle;??
? Toggle _offTogle;?
?? Slider _slider;? ??
Text _ButtonText;? ?
? ?void Awake()? ? {? ? ? ?
?_AS = transform.GetComponent();? ? ??
? _stopButton = transform.Find("Button").GetComponent();? ?
?? ? _ButtonText = _stopButton.transform.Find("Text").GetComponent();? ? ? ? _stopButton.onClick.AddListener(ButtonFuns);? ? ? ?
?_offTogle = transform.Find("toggleGroup/toggle_OFF").GetComponent();?
?? ? ? _onToggle = transform.Find("toggleGroup/toggle_ON").GetComponent();? ? ? ? _offTogle.onValueChanged.AddListener(delegate (bool ison) { ValueChanged(ison,_offTogle.gameObject); });? ??
? ? _onToggle.onValueChanged.AddListener(delegate (bool iso{ValueChanged(ison,_onToggle.gameObject); });? ? ?
?? _slider = transform.Find("Slider").GetComponent();? ?
?? ? _slider.onValueChanged.AddListener(changValue);? ? ? ?
?? }? ? void ValueChanged(bool bo, GameObject toggle)? ? {? ? ?
?? if (bo)? ??
? ? {? ? ? ? ??
? toggle.GetComponent().isOn=true;
//var data = toggle.GetComponent<>();
switch (toggle.name)
{
case "toggle_ON":
_AS.Play();
_ButtonText.text = "暫停";
isPlay = true;
break;
case "toggle_OFF":
_AS.Stop();
_ButtonText.text = "播放";
isPlay = false;
break;
}
}
}
bool isPlay = false;
void ButtonFuns()
{
if (!isPlay)
{
_AS.Play();
_ButtonText.text = "暫停";
isPlay = true;
ValueChanged(true, _onToggle.gameObject);
}
else
{
_AS.Pause();
_ButtonText.text = "播放";
isPlay = false;
ValueChanged(true, _offTogle.gameObject);
}
}
void Start () {
ValueChanged(true,_offTogle.gameObject);
_ButtonText.text = "播放";
}
void changValue(float value)
{
_AS.volume = value;
}