Unity实现游戏注册登录的功能(PlayerPrefs实现)

1.首先创建好注册登录需要的各个节点,在需要的输入框处添加UIInput脚本合Collider碰撞器(这里由NGUI实现)
2.了解下Unity的PlayerPrefs存储。
目前,在Unity3D中只支持int、string、float三种数据类型的读取,所以我们可以使用这三种数据类型来存储简单的数据。目前Unity3D中用于数据持久化的类为PlayerPrefs,如下:
//保存数据
PlayerPrefs.SetString(“Name”,Key.value);
PlayerPrefs.SetInt(“Name”,Key.value);
PlayerPrefs.SetFloat(“Name”,Key.value);
//读取数据
PlayerPrefs.GetString(“Name”);
PlayerPrefs.GetInt(“Name”);
PlayerPrefs.GetFloat(“Name”);
3.注册登录代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoginManage : MonoBehaviour {
public GameObject rigisterUI;//注册界面的UI父节点
public GameObject loginUI;//登陆界面的UI父节点
public UILabel loginName;//登陆界面的输入用户名
public UILabel loginPass;//登录界面输入密码
public UILabel rigistName;//注册界面输入用户名
public UILabel rigistPass1;//注册界面输入密码1
public UILabel rigistPass2;//注册界面确认密码
// Use this for initialization
void Start () {
//初始化游戏进入登录界面节点显示,注册界面隐藏
//Debug.Log( PlayerPrefs.GetString (“username”));
//Debug.Log( PlayerPrefs.GetString (“password”));
loginUI.SetActive(true);
rigisterUI.SetActive(false);
}
public void OnrigisterClick() {//点击去注册的按钮
loginName.text = “”;//输入用户名的内容
loginPass.text = “”;//同上
loginUI.SetActive(false);//隐藏登录界面
rigisterUI.SetActive(true);//显示注册界面
}
public void OnBack() {//注册界面返回回到登录界面的按钮
rigistName.text = “”;//输入内容
rigistPass1.text = “”;
rigistPass2.text = “”;
loginUI.SetActive(true);//显示登录界面
rigisterUI.SetActive(false);//隐藏注册界面
}
public void rigister()//确认注册按钮
{
if (rigistPass1.text != rigistPass2.text)
{
Debug.Log(“前后密码不一致”);
}
else if(rigistPass1.text==""||rigistPass2.text==""||rigistName.text==""){
Debug.Log(“密码用户名不能为空”);
}
else
{
PlayerPrefs.DeleteKey (“password”);
PlayerPrefs.DeleteKey (“username”);
PlayerPrefs.SetString(“password”, rigistPass1.text);//存储本地 string类型 PlayerPrefs.SetString(key name,key value);
PlayerPrefs.SetString(“username”,rigistName.text);
Debug.Log (rigistPass1.text);
Debug.Log (rigistName.text);
OnBack();
}
}
public void login()//登录界面确认登录按钮判断是否登录
{
string name = PlayerPrefs.GetString (“username”);//取出本地存储的数据PlayerPrefs.GetString(key name);
string pass = PlayerPrefs.GetString (“password”);
if (loginName.text == “” || loginPass.text == “”) {
Debug.Log (“用户名和密码不能为空”);
}
else if (name!= loginName.text || pass != loginPass.text||name=="" ||pass=="")
{
Debug.Log (name);
Debug.Log (pass);
Debug.Log (“密码输入错误重新输入”);
loginPass.text = “”;
}
else
{
loginUI .SetActive (false);
loginName.text = “”;
loginPass.text = “”;
Application .LoadLevelAsync (“场景名”);//登录成功切换的场景
}

}

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值