我正在尝试构建一个使用Unity进行UI渲染的Android应用,用户可以在场景外执行一些操作。
这意味着说我有一个活动,其中有一个统一的场景作为子视图。屏幕的其余部分由本地android视图(按钮等)组成。我想使用这些视图来更改统一场景,例如显示文本字段,添加文本,隐藏文本,添加文本效果等。
到目前为止,我已经按照此answer将统一场景添加为子视图,并且效果很好。我是Unity的新手,我不确定如何从场景外的视图管理和更改场景。这有可能吗?我知道如果我在Unity中创建场景时向场景本身添加按钮,那么我可以使用这些按钮来更改场景。
但是,不是场景一部分的UI组件可以做到这一点吗?如果是,我该怎么做?我试图找到有关此信息,但找不到太多。谢谢阅读。
答案 0 :(得分:1)
在Unity端和Android之间进行沟通。 如果您统一执行以下功能,则可以从技术上做到这一点。我刚刚在这里写了团结与Android如何沟通 在使用此代码之前,您需要查看Unity和Android之间的集成简介以使用来自Unity的本机插件,因此请参见此链接。
了解了如何制作适用于Android的插件后,请查看代码。它会帮助你。
public class loadScene : MonoBehaviour
{
public static void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}
public static void SendMessageToUnity(String gameObjectName, String methodName, String message) throws Exception
{
Log.d("unity", gameObjectName + " " + methodName + " " + message);
final Class<?> player = Class.forName("com.unity3d.player.UnityPlayer");
player.getMethod("UnitySendMessage", String.class, String.class,
String.class).invoke(null, gameObjectName, methodName, message);
}
...
// call this function.
public void LoadScene()
{
SceneLoadActivie.SendMessageToUnity("LoadGameSceneObject", "LoadScene", "SomeScene");
}