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

SpriteKit SKView no longer transitions between scenes in iOS 9(在iOS 9中,SpriteKit SKView不再在场景之间切换)
本文介绍了在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不再在场景之间切换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Get an event when UIBarButtonItem menu is displayed(显示UIBarButtonItem菜单时获取事件)