[英]Loading next level Unity c#
這是我達到“目標”時加載下一個關卡的第一次嘗試
public int CurrentLevel = 0;
public static int maxlevel = 3;
public void CompleteLevel()
{
if (CurrentLevel < maxlevel)
{
CurrentLevel += 1;
SceneManager.LoadScene(CurrentLevel);
}
else
print("you win");
}
這是另一堂課...
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "DeathObject")
Die();
if (other.transform.tag == "Goal")
Manager.CompleteLevel();
}
它最終加載了第一級,進入第二級,然后當我達到目標時將重復第二張地圖。 它要做的另一件事是從第一或第二級跳到最后一級。 這是我嘗試過的第二件事:
public void LevelPassTest()
{
if (Application.loadedLevel > 4)
Application.LoadLevel(Application.loadedLevel + 1);
else
print("win");
}
這是另一堂課。
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "DeathObject")
Die();
if (other.transform.tag == "Goal")
Manager.LevelPassTest();
}
我不確定為什么,但是有時它不加載下一個級別,它工作了一會兒然后停了下來,在我重新設置了單位之后,它又可以工作了,所以我不確定是我的代碼還是單位...我收到警告消息:“警告CS0618'Application.loadedLevel'已過時:'使用SceneManager確定已加載哪些場景''和'警告CS0618'Application.LoadLevel(int)'已過時:'Use SceneManager.LoadScene' “我是編碼的新手,對此完全迷失了。 花了四個小時試圖修復它。 這些警告是什么? 他們會影響負載嗎? 我還希望能夠保存該關卡的值,以便可以在游戲保存中使用它,並為其附加高分。 我在第一次嘗試中嘗試使用此方法,但是它並沒有達到我的期望。 (現在的水平)
從Unity 5開始, Application.LoadLevel
和其余部分已過時。您必須改為使用SceneManager
。
所以Application.LoadLevel()
現在是SceneManager.LoadScene()
。
您還必須包括using UnityEngine.SceneManagement;
參見此處: http : //docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html
它所需要的只是一個快速的Google。
您的場景是否正確添加到“構建設置”中? 轉到“文件”>“構建設置...”,然后檢查“構建中的場景”是否以所需方式添加了從場景0到場景3的所有場景。
您給出的第一個示例應該可以工作, 但是必須確保在加載下一個場景時不會破壞您的第一個腳本(包含CurrentLevel
)。 為此,請在其void Start()
調用GameObject.DontDestroyOnLoad(gameObject)
void Start()
。 或者,您可以使CurrentLevel
成為靜態成員。 這是必需的,因此在加載下一個場景時不會丟失CurrentLevel
的值。 這可以解釋為什么您一遍又一遍地加載相同的級別。
在第二個示例中,在LevelPassTest()中,檢查Application.loadedLevel > 4
是否必須為Application.loadedLevel < 4
。 如果解決此問題,第二個示例也應該可以正常工作。
是的,您正在部分處理過時的API,但這不能解釋為什么它不起作用。
使用UnityEngine.SceneManagement;
然后在統一5.xx中使用SceneManager.LoadScene()就像我們以前使用Application.LoadLevel()的方式一樣。Application.LoadLevel已過時-意味着它將在將來被刪除並且不應該使用,並且不是保證它將正常工作。
我建議您閱讀有關Scene和SceneManager類的Unity文檔,以便熟悉Unity 5引入的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.