使用PlayerPrefs来做个简单的登录功能

首先大家来了解下PlayerPrefs:

适用设备:Mac OSX、Linux、Windows、Web player

存储机制:Key-Value

可存储变量类型:int,float,string

静态方法:setFloat :存储float类型的数据

setInt:存储int类型的数据

setString:存储string类型的数据

Deleteall:删除所有数据

getFloat:通过key值获取float类型的数据

getInt:通过key值获取int类型的数据

getString:通过key值获取String类型的数据

HasKey:判断是否在该key值得数据

现在开始给大家做demo来演示单机版的登录界面功能

1首先建立三个场景,命名为Scene1和Scene2和Scene3

2在Scene1中建立登录界面,先建立一个Plane命名为BG,然后建立2个InputFile,分别改名为Account和Password ,Account作为输入账号,Password作为输入密码,然后建立俩个Button,将俩个Button改名为Login和Register,一个是登录按钮,一个是注册按钮,然后让大家看下效果图,

使用PlayerPrefs来做个简单的登录功能_第1张图片

大概就是这个效果,由于自己太懒,就没找素材,大家将就着看吧,我相信大家可以领悟到其中的精髓

3然后在Scene2中建立和Scene1中一样的界面,(你可以把Scene1中的Canvas做成预设体,然后打开Scnene2场景,将预设体直接拖进去,这样是不很简单!!)但是你要把登录和注册按钮上的Text改下  ,直接上图

使用PlayerPrefs来做个简单的登录功能_第2张图片

这样场景就搭建完了,下面进入我们枯燥的脚本环节

将该脚本赋给场景Scene1下的BG,由于本人喜欢用鼠标点击事件,所以大家记得把Button都加上点击事件呦!

添加场景命名空间和UI的命名空间

//账号InputField  Account;

//密码InputField  PassWord;

//登陆按钮Button Bit_Lagin;

//注册按钮Button Bit_Register;

//public GameObject  Plane1;

public GameObject Plane2;

void  Awake(){Account = transform .FindChild ("Account").GetComponent();

PassWord = transform.FindChild ("PassWord").GetComponent();

Bit_Lagin = transform.FindChild ("Login").GetComponent();

Bit_Register = transform.FindChild ("Register").GetComponent();

Plane1.SetActive (false );

Plane2.SetActive (false );

}

void Start(){

//DontDestroyOnLoad (GetComponent());music = GetComponent();

music.clip = ac;DontDestroyOnLoad (this .gameObject );}

void  Update(){

}

////// 鼠标点击事件

/// 当账号和密码都不为空时跳转场景,当有一个为空时就会出现Plane1

///public void LoginBtn(){music.Play ();

if (Account.text != "" &&  PassWord.text != "" ) {

Plane2.SetActive (true

);

if (Account .text == PlayerPrefs .GetString ("m_usename") && PassWord .text == PlayerPrefs .GetString ("m_passworld"))

{

print ("账号密码输入成功");

Plane2.SetActive (false );

SceneManager.LoadScene ("Scene3");

}} else {

Plane1.SetActive (true);

}}

public  void ClosePlane1(){Plane1.SetActive (false );

Plane2.SetActive (false );

}

public void Register(){

SceneManager.LoadScene ("Scene2");

}


将该脚本赋给Scene2,记得加场景的命名空间,和UI的命名空间,

记得Button点击事件呦

public InputField m_usename;

public InputField m_passworld;


// Use this for initialization

void Start () {AS = GetComponent();


}

// Update is called once per frame

void Update () {}

//////如果注册成功,点击注册按钮跳转回登陆界面

///

public void RegisterBtn (){

if (m_usename.text != "" && m_passworld.text != "") {

PlayerPrefs.SetString ("m_usename", m_usename.text);PlayerPrefs.SetString ("m_passworld", m_passworld.text);

SceneManager.LoadScene ("Scene1");

} else {

print ("账号和密码都不注册你还想玩游戏");

}}

////// 如果不想注册,点击取消按钮跳转到登陆界面

/////trueif this instance cancel ; otherwise,false.

public  void  CancelBtn (){

SceneManager.LoadScene ("Scene1");

}

最后记得把场景都放到Building Seting里面



可能由于粘贴的原因,会出现错误,

如果想学的同学可以加我的QQ841909433,记得表明加我的原因,我会耐心的为你们讲解的

你可能感兴趣的:(使用PlayerPrefs来做个简单的登录功能)