Unity3D笔记之---简单的注册与登陆
来源:互联网 发布:手机淘宝怎么修改价格 编辑:程序博客网 时间:2024/06/06 03:57
今天来给大家分享一个关于Unity3D的比较简单的注册与登陆界面
>注册与登陆界面所涉及的知识点并不是很多,第一步就是搭建一个UI界面
注意:
- 搭建UI的时候一定要先进行适配,否则的话分辨率一改变,原先的图片就会失真
- 尽量都放在panel上
- 起名子的时候一定要见名知意,方便自己知道那个是那个,对其进行操作
- 搭建的层次一定要准确,不然到时候有可能你的Button就用不了
>第二步进行代码操作
1、挂在载pan_Login_Window上的脚本
using UnityEngine;using System.Collections;using UnityEngine.UI;using System;using UnityEngine.SceneManagement;/// <summary>/// 此脚本挂载在pan_Login_Window上/// </summary>public class Register : MonoBehaviour{ // 为了方便在此我就选择拖拽的方式 // 三个输入表格,为了引用表格中输入的文本 [SerializeField] InputField m_inpfiName; [SerializeField] InputField m_inpufiPwd; [SerializeField] InputField m_ConfimPwd; // 完成按钮 [SerializeField] Button m_Wancheng; // 提示文本 [SerializeField] Text m_Tips; // 登陆界面 [SerializeField] GameObject m_pan_Login_Window; // 可见密码 [SerializeField] Toggle m_SeePwd; private void Start() { m_SeePwd.onValueChanged.AddListener(OnSeePwd); m_inpfiName.onEndEdit.AddListener(OnNameEnd); m_ConfimPwd.onEndEdit.AddListener(OnPwdEnd); m_Wancheng.onClick.AddListener(OnWancheng); } // 使密码可见 private void OnSeePwd(bool arg0) { // 转换密码类型 m_inpufiPwd.contentType = arg0 ? InputField.ContentType.Standard : InputField.ContentType.Password; m_inpufiPwd.Select(); } // 当结束编辑名字的时候,查看是否已经存在该用户名 private void OnNameEnd(string arg0) { if (PlayerPrefs.HasKey(m_inpfiName.text)) { m_Tips.text = "改用户名已经存在"; } } private void OnPwdEnd(string arg0) { if (m_ConfimPwd.text!=m_inpufiPwd.text) { m_Tips.text = "前后用户名输入不一致"; } } private void OnWancheng() { // playerprefs中不存在这个名字,两次密码输入一致,存入Playerprefs,到登陆界面 if (!PlayerPrefs.HasKey(m_inpfiName.text)) { if (m_inpufiPwd.text==m_ConfimPwd.text) { PlayerPrefs.SetString(m_inpfiName.text, m_ConfimPwd.text); gameObject.SetActive(false); m_pan_Login_Window.SetActive(true); } } }}2、挂在载pan_Register_Window上的脚本
using UnityEngine;using System.Collections;using UnityEngine.UI;using System;using UnityEngine.SceneManagement;/// <summary>/// 此脚本挂载在pan_Register_Window上/// </summary>public class Register : MonoBehaviour{ // 为了方便在此我就选择拖拽的方式 // 三个输入表格,为了引用表格中输入的文本 [SerializeField] InputField m_inpfiName; [SerializeField] InputField m_inpufiPwd; [SerializeField] InputField m_ConfimPwd; // 完成按钮 [SerializeField] Button m_Wancheng; // 提示文本 [SerializeField] Text m_Tips; // 登陆界面 [SerializeField] GameObject m_pan_Login_Window; // 可见密码 [SerializeField] Toggle m_SeePwd; private void Start() { m_SeePwd.onValueChanged.AddListener(OnSeePwd); m_inpfiName.onEndEdit.AddListener(OnNameEnd); m_ConfimPwd.onEndEdit.AddListener(OnPwdEnd); m_Wancheng.onClick.AddListener(OnWancheng); } // 使密码可见 private void OnSeePwd(bool arg0) { // 转换密码类型 m_inpufiPwd.contentType = arg0 ? InputField.ContentType.Standard : InputField.ContentType.Password; m_inpufiPwd.Select(); } // 当结束编辑名字的时候,查看是否已经存在该用户名 private void OnNameEnd(string arg0) { if (PlayerPrefs.HasKey(m_inpfiName.text)) { m_Tips.text = "改用户名已经存在"; } } private void OnPwdEnd(string arg0) { if (m_ConfimPwd.text!=m_inpufiPwd.text) { m_Tips.text = "前后用户名输入不一致"; } } private void OnWancheng() { // playerprefs中不存在这个名字,两次密码输入一致,存入Playerprefs,到登陆界面 if (!PlayerPrefs.HasKey(m_inpfiName.text)) { if (m_inpufiPwd.text==m_ConfimPwd.text) { PlayerPrefs.SetString(m_inpfiName.text, m_ConfimPwd.text); gameObject.SetActive(false); m_pan_Login_Window.SetActive(true); } } }}
注意:
- 注册与登陆一般都是同一个界面,然后与游戏场景是不同场景,在运行前一定要进行Building setting,在file菜单下,把需要的场景拖进去,关闭就好
- 再次我运用了playerprefs类,这个类的功能比较强大,可以存入,可以得到里面的数据,一旦存入,关闭程序后再运行还是存在原先存入过的数据
- 为了方便,所以我选择了拖拽的方式,但是一定要记得拖拽,不然就会报空引用。
此篇文章只是简单的注册与登陆,仅供大家参考,有什么问题的话,欢迎大家留言或者私信我
阅读全文
0 0
- Unity3D笔记之---简单的注册与登陆
- 简单的注册与登陆
- Unity3D技术之游戏的登陆注册界面详解
- 简单的登陆注册练习1 登陆
- SpringBoot实现简单的注册与登陆功能
- 0007、node 之注册与登陆
- 一个简单的登陆注册系统
- 超简单的登陆注册页面实现
- android 简单登陆注册的实现
- struts2+hibernate4实现简单的注册登陆
- 基于Struts2和Android的简单登陆注册功能的设计与实现(待完善)
- linux初学笔记(1)简单的登陆与使用
- 注册和登陆与数据库的链接
- Asp.Net MVC 5使用Identity之简单的注册和登陆
- Asp.Net MVC 5使用Identity之简单的注册和登陆
- 学习Unity3D之登陆。
- 登陆与注册
- MyNote笔记系统(二)登陆与注册
- 【25】手把手教你响应式布局(一)
- CodeVS3287[NOIP2013] 货车运输【Kruskal+倍增求LCA】
- 大数取模
- npm install loadAllDepsIntoIdealTree CPU 占用过高
- 链表C 链表的结点插入
- Unity3D笔记之---简单的注册与登陆
- 最新版本sublime text3注册码
- 链表D 单链表中重复元素的删除
- 网页制作之jsp与servlet中的中文乱码解决方案
- Java 学习笔记 04 String 、StringBuilder 和 StringBuffer区别和联系
- GitHub使用-第一天
- 链表E 有序链表的归并
- Android实现数据持久化的三种方法
- Python实现二分查找