Unity3D 初涉门径 之登录界面(二)分析

无情 阅读:130 2021-04-01 13:17:54 评论:0

前言:之前介绍了,登录界面的操作实现,不过是都是在代码里实现的。今天学习一下,在编辑器新建控件实现界面操作(当然,按钮操作还是要用到代码的)。(~ ̄▽ ̄)~

说明:
需要 create 两个空的对象(GameObject)用来存放 账号输入控件(水平)、密码输入控件(水平)
create 一个 Image 来建立一个 登录面板(背景)

界面操作:
首先,在当前面板中新建一个 画布(Canvas) 用来充当登录背景页,能包含登录界面里的所有控件。

其次,新建一个Text 文本作 账号提示标签,一个Input Field 作账号输入控件。手动拖动到合适位置,并放入新建的一个空对象中。
(密码标签和输入框同上)

再一个是 登录按钮的实现:新建一个 UI -> Button 就好了,位置按需求放置。

(有需求 或是作测试 的可以设置一个Title 标签 和 点击按钮后的登录提示 标签。)

在检测面板中为按钮添加事件监听OnClick()方法。如下图所示:

(备注:OnClick() 下的第一个添加的 可以删除,不影响效果,之前为了测试,忘了删了)

(跟之前做的差别不大)

代码实现(C#):

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI; //这个需要手动添加!!! 
 
public class loginButtonEvent : MonoBehaviour 
{ 
    public Text target_text; 
    public InputField username; 
    public InputField password; 
 
    public void onClickEvent() 
    { 
        if (username.text == "Jeter" & password.text == "123") 
        { 
            target_text.text = "Login success";  
        } 
        else 
        { 
            target_text.text = "Login failure."; 
        } 
    } 
 
    // Use this for initialization 
    void Start () { 
 
    } 
 
    // Update is called once per frame 
    void Update () { 
 
    } 
}

如果需要登录后 销毁对象(隐藏当前登录面板),需要用到 GameObject.Find()方法 来查找对象,找到后再销毁。

在登录成功后 加上这段代码即可

if (username.text == "Jeter" & password.text == "123") 
        { 
            target_text.text = "Login success"; 
 
            // 销毁 当前登录面板 
            GameObject root = GameObject.Find("Canvas"); 
 
            /* 
             * 用"/"表示当前路径 来查找。 
             * 这里的Image:login_layer 是 Canvas 子物体,查找需要在当前物体前添加 "/Canvas/"这个路径 
             * 不然会报错:NullReferenceException: Object reference not set to an instance of an object 
             * */ 
            GameObject layout = root.transform.Find("/Canvas/login_layer").gameObject; 
            layout.SetActive(false); // 设置为 隐藏掉 
            // Destroy(layout); // 直接销毁掉 
        }

好了,先介绍到这里吧。(~ ̄▽ ̄)~

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

可以免费观看全网VIP电影的公众号