【实战】Unity3d实战之Unity3d网络游戏实战篇(13):登录&注册面板

Unity3d实战之Unity3d网络游戏实战篇(13):登录&注册面板

学习书籍《Unity3d网络游戏实战》 罗培羽著 机械工业出版社
本文是作者在学习过程中遇到的认为值得记录的点,因此引用的代码等资源基本出资罗培羽老师的书籍,如有侵权请联系,必删。

 建立好网络模块后,我们可以开始对UI进行编程,实现可视化的登录注册面板。在第二节-代码资源分离的界面系统中,实现了Panel基类,之后的所有面板都会基于该基类并根据需求进行实现。本节给出登录、注册的实例。

 1、登录面板
 根据自己的喜好构建一个登录界面,这里给出一个测试样例:
 这里写图片描述
 注意,其中的Panel和Tips是Canvas下的空物体,用于对各种Panel进行分组,他们拥有的是Rect Transform组件而不是Transform组件。
 LoginPanel本身是Panel类型,以Text为后缀的是Text类型,以Input为后缀的是IntputField类型,以Btn为后缀的是Button类型。记得将LoginPanel拖拽到Resources文件夹中,因为PanelMgr的OpenPanel方法将从Resources文件夹中寻到对应的Panel并实例化。

 根据LoginPanel所示,我们在登录时需要输入用户名、密码、点击登录或者注册。这四个物体使我们所关注的。
 创建C# Script,命名为LoginPanel,声明四个变量:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;   // don't forget it.

public class LoginPanel : PanelBase {
    /*
     * Add a logout listener.
     */
    private InputField idInput;  // InputField of user name 
    private InputField pwInput;  // InputField of password
    private Button loginBtn;     // Button of login
    private Button regBtn;       // Button of register
}

 然后,按照需求重载父类PanelBase的Init()方法和OnShowing()方法:

#region Operation-Cycle
public override void Init (params object[] args)
{
    base.Init (args);
    skinPath = "LoginPanel";
    layer = PanelMgr.PanelLayer.Panel;
}

public override void OnShowing ()
{
    base.OnShowing ();
    Transform skinTrans = skin.transform;
    idInput = skinTrans.Find ("idInput").GetComponent<InputField> ();
    pwInput = skinTrans.Find ("pwInput").GetComponent<InputField> ();
    loginBtn = skinTrans.Find ("loginBtn").GetComponent<Button> ();
    regBtn = skinTrans.Find ("regBtn").GetComponent<Button> ();

    loginBtn.onClick.AddListener (OnLoginButtonClick)
  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值