HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 覆盖SKScene没有显示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图在SCNScene上叠加SKScene.当我在模拟器和iPhone6上运行我的应用程序时,overlayScene(SKScenE)显示为预期,但是当我尝试在iPhone5上运行它(尝试了2个不同的设备)时,overlayScene不会出现.

有谁知道为什么?两个设备都在iOS 9.2.1上运行.我只测试了这两个型号的应用程序.这是我在GameViewController.Swift中的代码

//Configure the view
    sceneView = self.view as? SCNView

    //Configure the scene
    sceneView.scene = gameScene
    sceneView.playing = true
    sceneView.BACkgroundColor = UIColor.blackColor()
    sceneView.antialiasingMode = SCNAntialiasingMode.Multisampling4X

    let overlayScene = OverlayScene(size: self.view.bounds.sizE)
    sceneView.overlaySKScene = overlayScene

谢谢!

解决方法

我从@StephenT上面提到的开发人员论坛得到了这个解决方案,但我认为一些代码可能有所帮助.

在Xcode提供的库存/模板代码中,Storyboard将顶级视图指定为SKView,并且应通过SCNView对象将初始SCNScene添加到该视图中.这意味着当我向SCNScene添加SKView时,我遇到了一个问题,即SKView不会在任何使用OpenGL的设备上显示(而不是Metal).

所以对我有用的解决方案是:

@H_855_5@main.storyboard – > ViewController – >视图

应设置为SCNView,而不是SKView.

然后,在ViewController中:

- (void) viewDidLoad {
    [super viewDidLoad];

    // Configure the root view.
    //
    SCNView *scnView = (SCNView*)self.view;

    WorldSceneView *world = [[WorldSceneView alloc] initWithFrame:self.view.frame];

    // Create and configure the scene.
    //
    HUDScene *hudScene = [HUDScene hudSceneWithSize:scnView.bounds.size andHUDDelegate:world];

    // Associate the HUD SKScene with the SCNView.
    //    
    world.overlaySKScene = hudScene;

    [scnView addSubview:world];
}

这适用于我,在Metal和OpenGL设备以及模拟器上.

大佬总结

以上是大佬教程为你收集整理的ios – 覆盖SKScene没有显示全部内容,希望文章能够帮你解决ios – 覆盖SKScene没有显示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。