Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS上激活Unity按钮单击_Ios_Objective C_Unity3d - Fatal编程技术网

在iOS上激活Unity按钮单击

在iOS上激活Unity按钮单击,ios,objective-c,unity3d,Ios,Objective C,Unity3d,我有一个iOS应用程序,有不同的视图,我想点击一个按钮打开一个Unity项目。这将是应用程序的增强现实部分,因此使用高通公司Unity插件。 我尽可能地遵循指南,但有一些问题 理想情况下,我希望在触摸按钮时加载Unity,而不是在AppStart上,我有一种在触摸按钮时获取调用的方法,但老实说,我不知道应该在那里加载什么 如果无法在单击按钮时加载Unity,则应在应用程序上加载Unity:didFinishLaunchingWithOptions:,并且,如指南中所述,我从AppDelegate

我有一个iOS应用程序,有不同的视图,我想点击一个按钮打开一个Unity项目。这将是应用程序的增强现实部分,因此使用高通公司Unity插件。 我尽可能地遵循指南,但有一些问题

  • 理想情况下,我希望在触摸按钮时加载Unity,而不是在AppStart上,我有一种在触摸按钮时获取调用的方法,但老实说,我不知道应该在那里加载什么

  • 如果无法在单击按钮时加载Unity,则应在应用程序上加载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; 
    }
    
    这给我抛出了一个编译器错误“使用未声明的标识符\u窗口”,好吧,我知道这是错误的,他不知道\u窗口来自何处。。但是我不知道的是它应该从哪里来。。我真的不知道如何解决这个问题

    最后,出于性能原因,如果我必须只在单击按钮时加载Unity,那么应该在那里调用什么?(Unity需要很长时间才能加载,我不确定是在AppStart还是在单击按钮时加载更好,(如果您单击按钮,它看起来会不会很奇怪,打开相机需要很长时间?)。任何帮助都将不胜感激


    谢谢!:)

    我发誓我已经读过了,但我并没有真正理解它:(文章提到,你需要在appstart启动unity,然后可以暂停它,以切换回目标C。你不能随意加载unity。我不知道他是否正确。我确实认为在应用程序完成加载后加载它会太难,而且在开始时更容易完成,但我仍然有这个想法。)e窗口有问题……有什么想法吗?:)@Cutetare-您好,您好。您在点击按钮时成功实现了吗?我正在努力解决同一个问题。@shivamkaushik我再也没有这个项目了,但我觉得我最终对它进行了黑客攻击,一开始正常加载,然后在顶部放置了一个屏幕。我学到的是,Unity在Unity之外不能很好地工作。不是su我建议你这样做