unity 登录注册页面数据传递(无数据库)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 登录注册页面数据传递(无数据库)相关的知识,希望对你有一定的参考价值。
unity 登录注册页面数据传递(无数据库)
继上一篇随笔。制作unity登录注册页面。
创建一下脚本:
新建脚本“goa”(存储全局变量方便其他脚本的调用):
using UnityEngine;
using System.Collections;
public class goa : MonoBehaviour {
//用户名
public const string name = "M_name";
//密码
public const string password = "M_password";
}
新建脚本“Btn_LoadScene”(用于场景跳转):
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections;
public class Btn_LoadScene : MonoBehaviour {
public string LoadSceneName; //定义跳转场景的场景名字符串
void OnMouseUp() //鼠标点击时调用,触发按钮事件
{
Invoke("Jump",0.5F); //0.5秒调用“jump”方法
}
void Jump()
{
Application.LoadLevel(LoadSceneName);//跳转场景(场景名可在外部修改)
}
}
新建脚本“loadin”(用于登录判断)和注册场景的跳转:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class loagin : goa //注意,这里要使用脚本刚才创建的全局变量“goa”
{
//勾选框
public Toggle remPasswd;
private Toggle fogPasswd;
//注册信息
public InputField inputName;
public InputField inputPaswd;
//跳转场景名称
//public string LoadSceneName;//这个不需要这行代码
//GUI 提示信息
public Text ui_massage;
private string stringmassage;
void Update ()
{
ui_massage.text = stringmassage;
//如果选中记住密码
if(remPasswd.isOn)
{
//填充数据
inputPaswd.text =inputPaswd.text.Trim ();
}
else
{
inputPaswd.text = inputPaswd.text;
}
}
void OnCLick()
{
string name = inputName.text.Trim ();
string oldname = PlayerPrefs.GetString (goa.name);
string password = inputPaswd.text.Trim ();
string oldpassword = PlayerPrefs.GetString (goa.password);
//用户名密码输入判断
if(string.IsNullOrEmpty(name)){
print(stringmassage="提示信息:请输入昵称");
return;
}
if(string.IsNullOrEmpty(password)){
print(stringmassage="提示信息:请输入密码");
return;
}
if (oldname != inputName.text.Trim ()|| oldpassword!=inputPaswd.text.Trim ()) {
print(stringmassage="提示信息:用户名或密码错误");
return;
}
//用户名密码正确则跳转场景
print(stringmassage="提示信息:登录成功");
Application.LoadLevel("1");//跳转到场景1
}
void regist()
{
// print(stringmassage="提示信息:注册成功");
Application.LoadLevel("Register");//跳转到注册场景
}
}
新建脚本“register”(注册页面)
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class register : goa //注意,这里要使用脚本刚才创建的全局变量“goa”
{
//注册信息
public InputField inputName;
public InputField inputPaswd;
public InputField inputPaswd2;
//跳转场景名称
public string LoadSceneName;
//GUI 提示信息
public Text ui_massage;
private string stringmassage;
void Update ()
{
ui_massage.text = stringmassage;
}
void OnCLick()
{
string name = inputName.text.Trim ();
string password = inputPaswd.text.Trim ();
string password2 = inputPaswd2.text.Trim ();
//用户名密码正确则跳转场景
if(string.IsNullOrEmpty(name)){
print(stringmassage="提示信息:请输入昵称");
return;
}
if(string.IsNullOrEmpty(password) ||inputPaswd.text.Length != 8){
print(stringmassage="提示信息:请输入8位密码");
return;
}
if(string.IsNullOrEmpty(password2)){
print(stringmassage="提示信息:请输入确认密码");
return;
}
if(password != password2){
print(stringmassage="提示信息:两次密码输入不正确");
return;
}
PlayerPrefs.SetString (goa.name,name);
PlayerPrefs.SetString (goa.password,password);
print(stringmassage="提示信息:注册成功");
Application.LoadLevel(LoadSceneName);
}
void returntoload()
{
Application.LoadLevel("load");
}
}
回到登录场景“load”。
把脚本“loagin”赋给摄像机。
点选按钮事件加号,添加按钮事件,拖拽摄像机到按钮载体,选择脚本“loadin”下的
“send message(string)”.在出现的输入框中输入登录按钮所用到的脚本里的一个方法。方法名与脚本方法名一致。
用同样的步骤,选择注册按钮,调整点击事件的属性,
把所有的所需跳转的场景加载到Build setting中。
运行登录场景。(根据所需可自行测试)
由于第一次测试,没有帐号密码,所以输入都是不能跳转场景的。
进入注册界面
按照刚才的方法将脚本“register”赋给摄像机,
拖入实例化的物体
按照登录界面的登录按钮的制作方法,选择返回登录的按钮。拖入跳转场景的脚本设置属性:
按照登录界面的登录按钮的制作方法,选择注册按钮方法设置属性如下:
好了。现在制作完成。
运行。正常!
(如果有错误的可以联系我)
以上是关于unity 登录注册页面数据传递(无数据库)的主要内容,如果未能解决你的问题,请参考以下文章