untiy登录注册功能的实现,可以永久本地存储。C#源代码,也可以用相同的办法存储读取玩家的其他信息或自定义的游戏设置

实现了判断用户名是否存在,密码是否前后一致,密码是否正确等。

这是注册界面功能

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class Register : MonoBehaviour
{/// <summary>确认按钮</summary>public Button ConfirmBtn;/// <summary>取消按钮</summary>public Button CancelBtn;/// <summary>注册界面输入用户名</summary>public InputField InputUserName;/// <summary>注册界面输入密码</summary>public InputField InputPassWord;/// <summary>注册界面确认密码</summary>public InputField ConfirmPassWord;/// <summary>用户名提示错误</summary>public Text UserNameText;/// <summary>密码前后不一致提示错误</summary>public Text PassWordText;private StreamWriter WriterUserName;private StreamWriter WriterPassWord;/// <summary>用户名保存路径</summary>private string UserNamePath;/// <summary>密码保存路径</summary>private string PasswordPath;private void Awake(){ConfirmBtn.onClick.AddListener(StorageBtn);CancelBtn.onClick.AddListener(Cancel);UserNamePath = Application.streamingAssetsPath + "/UserName.txt";PasswordPath = Application.streamingAssetsPath + "/Password.txt";}void Start(){InputUserName.onValueChanged.AddListener(UserNameInput);ConfirmPassWord.onValueChanged.AddListener(PassWordInput);UserNameText.text = "";PassWordText.text = "";}void Update(){if (Input.GetKeyDown(KeyCode.W)){EmptyData();}}/// <summary>/// 用户名输入框检测输入/// </summary>/// <param name="str"></param>void UserNameInput(string str){UserNameText.text = "";}/// <summary>/// 确认密码输入框检测输入/// </summary>/// <param name="str"></param>void PassWordInput(string str){PassWordText.text = "";}/// <summary>/// 点击取消/// </summary>void Cancel(){PassWordText.text = "";UserNameText.text = "";StorageInput.Instance.RegisterUI.SetActive(false);StorageInput.Instance.LoginUI.SetActive(true);}/// <summary>/// 点击确认/// </summary>void StorageBtn(){string[]  m_StrUserNameData = File.ReadAllLines(Application.streamingAssetsPath + "/UserName.txt");if (InputUserName.text == ""){UserNameText.text = "请输入用户名";return;}if ( InputPassWord.text == ""){PassWordText.text = "请输入密码";return;}foreach (string item in m_StrUserNameData){if (InputUserName.text == item){UserNameText.text = "用户名已存在,请重新输入";return;}}if (InputPassWord.text == ""){PassWordText.text = "请输入密码";return;}if (InputPassWord.text != ConfirmPassWord.text){PassWordText.text = "密码前后不一致";return;}try{WriteIntoName(InputUserName.text);WriteIntoPassWord(InputPassWord.text);StorageInput.Instance.RegisterUI.SetActive(false);StorageInput.Instance.LoginUI.SetActive(true);Debug.LogError("注册成功");}catch (System.Exception e){Debug.LogError("注册失败");Debug.LogError(e);throw;}}/// <summary>/// 将用户名写入/// </summary>/// <param name="Name">需要写入的信息</param>public void WriteIntoName(string Name){FileInfo UeserName = new FileInfo(UserNamePath);if (!UeserName.Exists){WriterUserName = UeserName.CreateText();}else{WriterUserName = UeserName.AppendText();}WriterUserName.WriteLine(Name);WriterUserName.Flush();WriterUserName.Dispose();WriterUserName.Close();}/// <summary>/// 将密码写入/// </summary>/// <param name="Password"></param>public void WriteIntoPassWord(string Password){FileInfo PassWord = new FileInfo(PasswordPath);if (!PassWord.Exists){WriterPassWord = PassWord.CreateText();}else{WriterPassWord = PassWord.AppendText();}WriterPassWord.WriteLine(Password);WriterPassWord.Flush();WriterPassWord.Dispose();WriterPassWord.Close();}/// <summary>/// 清空用户名和密码/// </summary>public void EmptyData(){FileInfo UserName = new FileInfo(UserNamePath);FileInfo Password = new FileInfo(PasswordPath);if (UserName.Exists){UserName.Delete();UserName.Refresh();}if (Password.Exists){Password.Delete();Password.Refresh();}}
}

以下是登录页功能

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class StorageInput : MonoBehaviour
{public static StorageInput Instance;/// <summary>注册界面</summary>public  GameObject RegisterUI;/// <summary>登录界面</summary>public GameObject LoginUI;/// <summary>注册按钮</summary>public Button RegisterBtn;/// <summary>登录按钮</summary>public Button LoginBtn;/// <summary>登录界面输入用户名</summary>public InputField InputUserName;/// <summary>登录界面输入密码</summary>public InputField InputPassWord;/// <summary>登录界面用户名不存在</summary>public Text UserNameWrong;/// <summary>登录界面密码错误</summary>public Text PassWordWrong;/// <summary>拿到用户名配置表</summary>private string[] m_StrUserNameData;/// <summary>拿到密码配置表</summary>private string[] m_StrPassWordData;void Start(){Instance = this;RegisterBtn.onClick.AddListener(RegisterEvent);LoginBtn.onClick.AddListener(Login);InputUserName.onValueChanged.AddListener(UserNameInput);InputPassWord.onValueChanged.AddListener(PassWordInput);RegisterUI = GameObject.Find("注册界面");LoginUI = GameObject.Find("登录界面");RegisterUI.SetActive(false);LoginUI.SetActive(true);UserNameWrong.text = "";PassWordWrong.text = "";}// Update is called once per framevoid Update(){}/// <summary>/// 用户名输入框检测输入/// </summary>/// <param name="str"></param>void UserNameInput(string str){UserNameWrong.text = "";}/// <summary>/// 确认密码输入框检测输入/// </summary>/// <param name="str"></param>void PassWordInput(string str){PassWordWrong.text = "";}/// <summary>/// 点击注册/// </summary>private void RegisterEvent(){InputUserName.text = "";InputPassWord.text = "";RegisterUI.SetActive(true);LoginUI.SetActive(false);}/// <summary>/// 登录/// </summary>void Login(){m_StrUserNameData = File.ReadAllLines(Application.streamingAssetsPath + "/UserName.txt");m_StrPassWordData = File.ReadAllLines(Application.streamingAssetsPath + "/Password.txt");if (InputUserName.text == ""){UserNameWrong.text = "用户名不能为空";return;}else{if (InputPassWord.text == ""){PassWordWrong.text = "请输入密码";return;}}for (int i = 0; i < m_StrUserNameData.Length; i++){if (InputUserName.text == m_StrUserNameData[i]){if (InputPassWord.text == m_StrPassWordData[i]){LoginUI.SetActive(false);RegisterUI.SetActive(false);return;}if (InputPassWord.text != m_StrPassWordData[i]){PassWordWrong.text = "密码错误";return;}}}foreach (string item in m_StrUserNameData){if (InputUserName.text != item){UserNameWrong.text = "用户名不存在,请注册";return;}}}
}

Unity3D实现登陆注册功能,实现本地存储读取相关推荐

  1. 用户登陆注册功能(PHP)

    对于许多web应用程序而言,数据库都是其核心所在.数据库几乎可以用来存储所有你想要检索和更新的任何信息,下面是一个通过PDO操作MySQL数据库来实现用户登陆注册功能的案例 效果图展示: 这是登陆和注 ...

  2. Android 实现简单的登陆注册功能(SharedPreferences和SQLite)

    最近刚好做了一个Android的登录注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登陆注册功能,本文未涉及到与服务器的交流. 首先,对于登 ...

  3. 小程序登陆注册功能的实现

    我们在开发小程序时,难免会用到登陆注册功能.通常小程序有为我们提供用户授权登陆的功能,但是这个只能获取用户的头像和昵称,我们该怎么样来实现小程序账号密码的注册和登陆呢,今天就来手把手的带大家学习小程序 ...

  4. 利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)

    前言:从其他人的留言中我知道Bmob这个云数据库,之前我一直在自己写后台但是发现太慢了要学的东西超级多,脚手架也不知道为什么老是搭不上很蛋疼,然后春节又必须回来老家山区里面有些事情耽搁了后台也凉了,后 ...

  5. 网站学习心得-登陆注册功能

    //环境: 1.没什么环境要求 正文 一.需求分析: 1.注册功能 实现新用户信息的创建:账号.密码.昵称.邮箱 账号:不能重复,不能少于6位,纯数字 密码:不能少于6位 昵称:最长6位字符,不能重复 ...

  6. 借助小程序云开发实现小程序的登陆注册功能

    小程序云开发讲解视频:https://edu.csdn.net/course/detail/9604 有了云开发我们不仅可以方便的获取到用户的openid,还可以通过云开发的数据库来存储用户信息,进而 ...

  7. 【Axure】使用中继器实现登陆注册功能

    演示效果: 1.新建 [登录] 页面,导入做好的手机壳素材,拖放"动态面板"到手机屏幕,命名为"登录页动态面板",面板内包含三种状态,如下图所示: 注册状态 2 ...

  8. JS-学生信息表录入删除功能(本地存储)

    功能:学生信息表录入.删除(本地存储) <!DOCTYPE html> <html lang="en"><head><meta chars ...

  9. java用于保存登录对象怎么写,利用对象流模仿登陆注册功能——Java对象流应用...

    要求: 1.建一个User类,类中结构有用户名.密码.注册日期三个属性, 一个注册方法和一个登录方法. 2.建一个Data类,用一个List装载用户数据,有保存数据,读取数据的方法. 3.利用对象流, ...

最新文章

  1. C_str的入门级notes
  2. 侧边栏qq客服对话显示
  3. Visual Transformers: Token-based Image Representation and Processing for Computer Vision
  4. Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件...
  5. C 语言编程 — 堆栈与内存管理
  6. Java 7 – NIO文件革命
  7. 群晖套件来源_群晖安装IPKG包管理器及第三方社区安装包步骤
  8. WinForm邮件内容编辑器的简单实现
  9. 基于Gulp的简易前端自动化工程搭建
  10. python3 判断大小端的一种方法
  11. zabbix计算型监控项函数last_面试官:如何用zabbix实现监控linux服务器进程使用率...
  12. JavaScript Tree 功能强大,包含checkbox,自动选择子节点和父节点.
  13. 机房服务器维修合同,机房维护合同模板.doc
  14. yolo系列外文翻译_yolov3论文中英对照版
  15. excel画正态分布与T分布
  16. 0806 07 08 09 12上午数据库
  17. 字节跳动混沌工程实践总结
  18. 500个Python模块(库)的详细分类介绍
  19. SqlServer 内存篇(四)—— 各部分内存不足特征及解决方法
  20. 无人机智能巡检系统及功能介绍

热门文章

  1. python-dayo6-元组 字典 集合操作
  2. Metasploit漏洞框架(详述强大的Metasploit、技术架构、Meterpreter的使用、优势、基本操作、服务查点、“永恒之蓝”演示)
  3. chkdsk不是内部命令或外部命令,不能检查F:盘
  4. CKeditor使用之添加自定义插件
  5. 家长怎样让孩子不在沉迷手机
  6. win10不关闭计算机,如何解决win10系统经常关机关不掉的问题
  7. Windows 修改默认下载、安装路径
  8. Notification Light
  9. Windows Phone 7 Series 概述、亮点以及
  10. oracle12官方下载,oracle下载|oracle v12.2 最新版-520下载站