SpriteKit SKView不再在iOS 9中的场景之间切换

内森·希尔耶(Nathan Hillyer)

我们有一个代码库,该代码库是在2013年编写和发布的,但是在iOS 9中,SKScenepresentScene:transition:消息发送到时,该应用程序不再在s之间明显过渡SKViewSKScene收到didMoveToView:消息,但场景本身从来没有在屏幕上显示。

这是我们尝试的方法:

  • Metal通过禁用Info.plist
  • 使用[SKTransition transitionWithCIFilter:duration:]而不是预定义的动画
  • 调整 zPosition
  • 切换到常规UIView动画(这使我们SKNode动画消失了)
  • 确保过渡方法不会被多次调用
  • 明确设置pausesOutgoingSceneYESSKTransition

以上尝试均不能解决问题。请注意,iOS 8中的所有内容都可以正确过渡

这是一些无效的示例代码:

-(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;
}

关于如何定位/修复/解决该错误的任何建议?

内森·希尔耶(Nathan Hillyer)

我们无法SKTransition上班。我们与开发人员支持团队进行了交谈,并在开发人员论坛上发布了内容,并尝试了此处发布的所有内容。

这是iOS 9独有的SpriteKit错误。如果其他人在iOS 9上遇到此错误,我们将切换为使用进行自定义转换UIView animateWithDuration:animations:completion:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章