最近多谢给我的网友对我的指点,真的很感谢你们。感谢你们的热心指导,使我一步步迈入unity 程序的世界。下面两个代码实现的功能是,一个简单的登陆界面,技术点事PlayerPrefs简单的本地存储功能。
我把这个放在一个第一人称控制器上:
实现的效果如图1:
using UnityEngine;
using System.Collections;
public class denglu : MonoBehaviour {
//定义一个string类型的名字变量
public string name="";
//定义一个x 浮点类型
public float x;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//获取当前物体x轴坐标
x = this.transform.position.x;
}
void OnGUI(){
//定义一个输入文本框,并且把输入的字符串给name变量
name=GUILayout.TextField (name,GUILayout.Width(50));
//显示 x
GUILayout.Label ("当前x值是: "+x);
//如果单机保存
if(GUILayout.Button("保存")){
//储存name变量 到_Name
PlayerPrefs.SetString ("_Name",name);
//储存x值
PlayerPrefs.SetFloat("_X",x);
//加载场景1
Application.LoadLevel(1);
}
//name=GUI.TextField (new Rect(10,10,100,100),name);
}
}
第二个场景我就建了一个摄像机:(代码比较简单注释我就不写了)。
实现效果如图2:
using UnityEngine;
using System.Collections;
public class tiqu : MonoBehaviour {
// Use this for initialization
private string myName;
private float myX;
void Start () {
myName = PlayerPrefs.GetString ("_Name");
myX = PlayerPrefs.GetFloat ("_X");
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
if (GUILayout.Button ("返回")) {
//Application.loadedLevelName(1);
Application.LoadLevel(0);
}
GUILayout.Label ("我的名字是: "+myName,GUILayout.Width(100));
GUILayout.Label ("我上一个场景储存的x是: "+myX);
}
}