我正在为 iPad 构建一个应用程序,由两部分组成:
- 用可可构建的用户界面
- Unity 场景
我需要找到一种方法来整合这两个部分并让它们相互通信。
经过大量研究,我发现的最佳方法是基于本教程的
基本上,我的应用程序委托上有两个 UIWindows,一个用于保留所有可可视图控制器的层次结构,另一个是 Unity 窗口。当我想切换哪个窗口可见时,我只需调用 [someWindow makeKeyAndVisible]; 在目标窗口上。当我需要从可可端与 Unity 通信时,我调用 UnitySendMessage。
这种方法一开始似乎效果很好,但是当我玩我的应用程序并在 UIWindows 之间切换几次后,对 UnitySendMessage 的调用随机停止产生任何效果,Unity 场景停止更新帧,甚至达到了一个点窗户不再改变,直到应用程序爆炸......
基本上,我想知道的是:
- 这是集成 Unity 和可可视图的最佳方法吗?有没有“官方”的方式来做到这一点?谁能指出我详尽的教程或示例代码?
- 作为最好的方法,你知道为什么它会在一段时间后开始失败吗?更换窗户时需要采取任何预防措施吗?(内存管理?暂停 Unity 线程?)
注意:我使用的是 Unity Pro,并且我已经尝试过 xcode4/ios6 和 xcode5/ios7 并且行为是相同的。
任何帮助将非常感激。