UGUI的创建
注意:新建UI时会自动生成Canvas建的控件都是Canvas的子物体
点击GaneObject列表下的UI在右侧就出现你要用到的控件(如图1-1)
Text控件
以下图片对text控件各个属性进行介绍(如图1-2)
用代码控制Text控件
Text _text;
void Awake()
{
_text = transform.Find("Text").GetComponent();//查找到该控件
}
void Start () {
_text.text = "欢迎你千年大帅逼!";//改变text内容
_text.color = Color.yellow;//改变内容颜色
}
Image控件
以下图片对Image控件各个属性进行介绍(如图1-3)
实现倒计时代码
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 () {
// 结束 倒计时的判断
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.点击如图1-5所示地方选中弹出的选项
2点击如图1-6圈中的东西在弹出的框中选中Button
3.根据图1-7所示步骤就可以找到自己在类中写的Public方法添加为该Button事件
Canvas三种模式
图1-8三种模式分别代表
Toggle,Slider,Button共同实现控制一个音频的播放与音量变化
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;
}