簡體   English   中英

在 Android 中將 Unity 作為子視圖加載時調用場景

[英]Invoking scene when loading Unity as subview in Android

我已將 Unity 集成到 Android 活動中(與類似)。 我現在需要根據用戶輸入動態加載場景。

我嘗試復制Unity 如何加載場景,這是我知道 Android Activity 能夠與 UnityPlayer 通信的唯一方式,但顯然不起作用:

UnityPlayer.UnitySendMessage("Application", "LoadLevel", "9");

我知道在 Unity 中還有其他加載場景的方法,但我不知道如何從 Android 本身調用這些方法(還要考慮UnitySendMessage只允許一個參數)。

如果您計划從 Android 加載 Unity 活動,您應該創建一個場景。 將此稱為主菜單,然后使其成為通過構建設置加載的默認場景。 使其索引為 0。

這個空場景的目標是在調用附加到它的腳本時加載特定場景。

在這個主菜單場景中,創建一個名為SceneLoader的游戲對象,然后將下面的腳本附加到它:

public class SceneLoader : MonoBehaviour
{
    public void loadScene(string sceneIndex)
    {
        UnityEngine.SceneManagement.SceneManager.LoadScene(Convert.ToInt16(sceneIndex));
    }
}

您還應該在每個其他場景中創建一個名為SceneLoader的游戲對象,並將上面的腳本附加到所有場景中。

現在,加載 Unity Activity,它會自動加載默認/空場景。 由於其中只有一個GameObject / SceneLoader ,因此加載速度非常快。

您現在可以從 Java 加載其他場景:

UnityPlayer.UnitySendMessage("SceneLoader", "loadScene", "9");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM