我有一个 iOS 应用程序,具有不同的视图,我想通过单击按钮打开一个 Unity 项目。这将是应用程序的增强现实部分,因此它使用了用于 Unity 的 qualcomm 插件。我尽可能地遵循指南http://alexanderwong.me/post/29949258838/building-a-ios-unity-uiview-uiviewcontroller ,但有一些问题
理想情况下,我想在触摸按钮时加载 Unity,而不是在 AppStart 上,我有在触摸按钮时获取调用的方法,但老实说不知道应该去哪里
UnityPause: NO
?如果无法在单击按钮时加载 Unity,则应在应用程序上加载它: didFinishLaunchingWithOptions:,并且如指南中所述,我从 AppDelegate 调用 AppController 窗口。
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions: (NSDictionary*)launchOptions { //unity BOOL returnBOOL; if (_unityController == nil) { _unityController = [[AppController alloc] init]; } returnBOOL = [_unityController application:application didFinishLaunchingWithOptions:launchOptions]; //other app-loading things here... CGRect screenBounds = [[UIScreen mainScreen] bounds]; self.window = [[UIWindow alloc] initWithFrame:screenBounds]; self.window.autoresizesSubviews = YES; NSLog(@"Will start loading Unity window"); // unity, set window window = [_unityController window]; //App crashes here // navigation controller [window addSubview:navigationController.view]; self.viewController = [[MainViewController alloc] init]; self.viewController.useSplashScreen = YES; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; //more loading things.... return returnBOOL; }
然后在 AppController.mm 我有:
- (UIWindow *)window
{
return _window;
}
这给我一个编译器错误“使用未声明的标识符 _window”,好吧,我明白这是错误的,他不知道 _window 来自哪里......但我不知道它应该来自哪里......我不知道'真的不知道如何解决这个问题。
最后,出于性能原因,如果我只能在单击按钮时加载 Unity,那么应该在那里调用什么?(Unity加载时间很长,我不确定是在AppStart加载还是在Button Click加载更好,(如果单击按钮会不会看起来很奇怪,并且打开相机需要很长时间? ).. 任何帮助将不胜感激!
谢谢!:)