有谁知道为什么?两个设备都在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).
所以对我有用的解决方案是:
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没有显示所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)