3

我有一个 iOS 应用程序,具有不同的视图,我想通过单击按钮打开一个 Unity 项目。这将是应用程序的增强现实部分,因此它使用了用于 Unity 的 qualcomm 插件。我尽可能地遵循指南http://alexanderwong.me/post/29949258838/building-a-ios-unity-uiview-uiviewcontroller ,但有一些问题

  1. 理想情况下,我想在触摸按钮时加载 Unity,而不是在 AppStart 上,我有在触摸按钮时获取调用的方法,但老实说不知道应该去哪里 UnityPause: NO

  2. 如果无法在单击按钮时加载 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加载更好,(如果单击按钮会不会看起来很奇怪,并且打开相机需要很长时间? ).. 任何帮助将不胜感激!

谢谢!:)

4

0 回答 0