在iOS 9中,SpriteKit SKView不再在场景之间切换 [英] SpriteKit SKView no longer transitions between scenes in iOS 9

查看:21
本文介绍了在iOS 9中,SpriteKit SKView不再在场景之间切换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个2013年编写并发布的代码库,但在iOS 9中,当presentScene:transition:消息发送到我们的SKView时,应用程序不再在SKScene之间明显转换。SKScene收到didMoveToView:消息,但场景本身从未显示在屏幕上。

以下是我们尝试的内容:

  • 正在通过Info.plist
  • 禁用Metal
  • 使用[SKTransition transitionWithCIFilter:duration:]而不是预定义的动画
  • 调整zPosition
  • 正在切换到常规UIView动画(这会使SKNode消失)
  • 确保转换方法不会被多次调用
  • SKTransition
  • 上将pausesOutgoingScene显式设置为YES
上述尝试均未修复该问题。请注意,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;
}

关于如何定位/修复/解决该错误有什么建议?

推荐答案

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

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

这篇关于在iOS 9中,SpriteKit SKView不再在场景之间切换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆