本文介绍了在iOS 9中,SpriteKit SKView不再在场景之间切换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有一个2013年编写并发布的代码库,但在iOS 9中,当presentScene:transition:
消息发送到我们的SKView
时,应用程序不再在SKScene
之间明显转换。SKScene
收到didMoveToView:
消息,但场景本身从未显示在屏幕上。
以下是我们尝试的内容:
- 正在通过
Info.plist
禁用 - 使用
[SKTransition transitionWithCIFilter:duration:]
而不是预定义的动画 - 调整
zPosition
- 正在切换到常规
UIView
动画(这会使SKNode
消失) - 确保转换方法不会被多次调用
- 在
SKTransition
上将
Metal
pausesOutgoingScene
显式设置为YES
以下是一些不起作用的示例代码:
-(BOOL)presentTitle {
if (!titleSceneLoaded) {
return NO;
}
[skView presentScene:titleScene transition:[SKTransition fadeWithDuration:1.0]];
return YES;
}
将其更改为此选项可使其再次工作(无需转换):
-(BOOL)presentTitle {
if (!titleSceneLoaded) {
return NO;
}
[skView presentScene:titleScene];
return YES;
}
关于如何定位/修复/解决该错误有什么建议?
推荐答案
我们无法让SKTransition
工作。我们与开发人员支持团队交谈,发布在开发人员论坛上,并尝试了此处发布的所有内容。
这是iOS 9独有的SpriteKit错误。如果其他任何人在iOS 9上遇到此错误,我们将使用UIView animateWithDuration:animations:completion:
切换到自定义转换。
这篇关于在iOS 9中,SpriteKit SKView不再在场景之间切换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!