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 登录注册页面数据传递(无数据库)的主要内容,如果未能解决你的问题,请参考以下文章

PHP 会话变量没有传递到我的登录页面,但会话 ID 是

Ajax异步提交登录--登录使用

PhotonServer——实现客户端和服务器的通信(Unity实注册/登录)(上)

Flutter:StreamBuilder 快照——无数据

登录页面传递 $_SESSION

登录成功后向片段或页面传递数据