一、uGUI - 综合练习完善(案例登录界面)
1.设置Input Field 透明度为0
2.监听Input Field 的事件(写一个脚本[script])
3.绑定按钮的点击事件
4.获取用户名、密码框的值(定义属性)
5.使用input Field的属性 需要引入一个类
using UnityEngine.UI;
6.给控件和代码建立连接
- 1.Set Active
设置活动
showmessage.gameObject.SetActive(true); // 显示
showmessage.gameObject.SetActive (false); // 隐藏
- 2.IEnumerator
迭代器
问题
1.
查看input field的类型
去官方文档去查看
file:///Applications/Unity/Unity.app/Contents/Documentation/en/ScriptReference/index.html
引入类 using UnityEngine.UI;
脚本
1.业务逻辑处理-进行账号密码判断
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 导入UI类
public class GameController : MonoBehaviour {
// 属性
public InputField if_user;
public InputField if_pwd;
public Text showmessage;
// 按钮点击
public void OnLoginButtonClock()
{
string username = this.if_user.text; // username.text 错误写法 ,因为 username 是一个局部变量 我们要使用外部变量需要加上this.,访问属性
string passwrod = this.if_pwd.text;
if (username == "admin" && passwrod == "admin") {
// 登录成功之后,跳转到游戏界面
print("登录成功之后,跳转到游戏界面");
} else {
showmessage.gameObject.SetActive(true);
showmessage.text = "你的用户名或者密码错误,请重新输入";
StartCoroutine (DisappearMessage ());
}
}
// 用来消失message文本的
// IEnumerator 迭代器
// 所以yield关键词是干啥的?它声明序列中的下一个值或者是一个无意义的值。
IEnumerator DisappearMessage()
{
yield return new WaitForSeconds (1);
showmessage.gameObject.SetActive (false);
}
}