今天要蓋出阿嬤家!讓小紅帽走進阿嬤家,找到阿嬤。
右鍵 > Create > Scene
這樣就建好一個新的場景
利用碰撞"門"進入場景二。
if (coll.gameObject.tag == "door")
{
Debug.Log("切換場景");
SceneManager.LoadScene(1,LoadSceneMode.Single);
}
換場景的兩種寫法
第一種(過時)
Application.LoadLevel(1);
//數字為場景編號,從File -> Build Settings...看
//可以在Build Settings中隨意交換場景順序,因此要留意是否正確
Application.LoadLevel("場景名稱");
//直接輸入場景名稱進行換場景
第二種
//先新增命名空間
UnityEngine.SceneManagement;
//寫法和第一種一樣
SceneManager.LoadScene(1,LoadSceneMode.Single);
SceneManager.LoadScene(1,加載場景模式.單一);
在不要刪除的物件上掛之前寫過的 DontDestroyOnLoad(gameObject);
這樣就可以同一支角色在場景間穿梭,角色不會消失和重新載入。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DontDestroy : MonoBehaviour
{
// Start is called before the first frame update
void Awake()
{
//用陣列取得所有tag"role"物件,希望只有objs[0]一項,objs.Length=1
GameObject[] objs = GameObject.FindGameObjectsWithTag("role");
//如果陣列不只一項(第二次加載時重複新增該物件)
if (objs.Length > 1)
{
//就刪除該次加載場景建立物件
Destroy(this.gameObject);
}
//如果陣列只有一項,就不要刪掉這個物件(首次加載)
Debug.Log("DontDestroyOnLoad(this.gameObject);");
Debug.Log(this.gameObject);
DontDestroyOnLoad(this.gameObject);
}
}