Unity场景切换时传递数据


          这章我们说一下Unity在场景切换时如何传递数据,首先,我们创建2个场景。Scene1和Scene2.

Scene1.cs直接与Scnen1的摄像机捆绑。

代码例子: "场景切换.zip" http://vdisk.weibo.com/s/KzEfg

PlayerPrefs.SetString("name","xiaonan");方法就是把数据放入缓存中,第一个参数是键,第二个是值。

Application.LoadLevel  场景切换的方法。

using UnityEngine;
using System.Collections;

public class Scene1 : MonoBehaviour {

	// Use this for initialization
	void Start ()
	{
		PlayerPrefs.SetString("name","xiaonan");
		PlayerPrefs.SetInt("age",25);
		
		
	}
	void OnGUI()
	{
		if(GUILayout.Button("Change",GUILayout.Height(50)))
		{
			Application.LoadLevel("Scene2");
			
		}
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}


Scene2.cs代码同样与摄像机捆绑

using UnityEngine;
using System.Collections;

public class Scene2 : MonoBehaviour {

	// Use this for initialization
	void Start () 
	{
		
	}
	void OnGUI()
	{
		if(GUILayout.Button("return",GUILayout.Height(50)))
		{
			string name =  PlayerPrefs.GetString("name");
		Debug.Log(name);
			Application.LoadLevel("Scene1");
		}
	}
	
	// Update is called once per frame
	void Update () 
	{
	
	}
}


场景切换时的注意事项。

File -> Build Settings 点击Add Current添加场景,这一步很重要,如果不添加的话在代码中切换场景会抛异常。


Unity场景切换时传递数据_第1张图片 


删除数据的方法:

PlayerPrefs.DeleteKey("name");


你可能感兴趣的:(Unity3D,Unity3D)