1、脚本使用
1、按钮、编辑框获取
public class UserPannel : MonoBehaviour {
InputField userInput;
InputField pwdInput;
void Start() {
userInput = transform.Find("UserInputField").GetComponent<InputField>();
pwdInput = transform.Find("PWDInputField").GetComponent<InputField>();
loginBtn = transform.Find("LoginBtn").GetComponent<Button>();
// 登录按钮回调
loginBtn.onClick.AddListener(loginBtnClick);
}
// 登录按钮点击
void loginBtnClick() {
string account = userInput.text;
string pwd = pwdInput.text;
Debug.Log("账户:"+account);
Debug.Log("密码:"+pwd);
}
}
2、文本框获取
public class UserPannel : MonoBehaviour {
string content = "游戏广而告之";
void Start() {
// 修改文本框内容,simple为组件名称
transform.Find("Simple").GetComponent<Text>().text = content;
}
}
3、精灵图片替换
1、默认精灵设置
默认精灵设置
2、默认精灵代码替换
public class UserPannel : MonoBehaviour {
public Sprite bg;
void Start() {
// 修改图片的精灵 BG 为Image组件名称
transform.Find("BG").GetComponent<Image>().sprite = bg;
}
}
4、Toggle组件
public class UserPannel : MonoBehaviour {
Toggle toggle;
void Start() {
loginBtn = transform.Find("LoginBtn").GetComponent<Button>();
// 登录按钮回调
loginBtn.onClick.AddListener(loginBtnClick);
// 获取toggle,CheckBox为toggle组件的别名
toggle = transform.Find("CheckBox").GetComponent<Toggle>();
}
// 登录按钮点击
void loginBtnClick() {
if (!toggle.isOn) {
Debug.Log("请同意隐私协议!!!");
return;
}
// 跳转web页面
Application.OpenURL("https://lol.qq.com/main.shtml");
}
}
5、切换开关组
1、创建空的GameObject
将三Toggle
个开关设置成一组,可以实现简单的单选效果
添加开关组
设置开关组
6、进度条
6.1、Slider
public class SettingPannel : MonoBehaviour {
Slider slider;
void Start() {
slider = transform.Find("Slider").GetComponent<Slider>();
slider.onValueChanged.AddListener(onValueChanged);
}
void onValueChanged(float value) {
Debug.Log("当前进度条进度"+ value);
}
}
6.2、UIImage
1、创建一个底图背景色为黄色UIImage组件
底图背景色为黄色
2、创建一个底图背景色为蓝色的UIImage子组件组件
设置UIImage子组件的精灵为Line
设置Image Type(图片类型)为Filled 填充
设置Fill Method 为 Horizontal
设置Fill Origin 为 Left
设置Fill Amount 为 1
设置滑动组件的子组件
3、创建HeroPannel.cs脚本文件
将Image对象拖动至HeroPannel脚本的Image组件
HeroPannel.cs
编写脚本文件
using UnityEngine.UI;
public class HeroPannel : MonoBehaviour {
public Image image;
void Start() {
// 创建协成
StartCoroutine(UpdateImage());
}
IEnumerator UpdateImage() {
float value = 0;
while (value < 1) {
yield return new WaitForSeconds(0.1f);
value += 0.01f;
image.fillAmount = value;
}
}
}