繁体   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