ios - SpriteKit crossFadeWithDuration : between scenes not working as expected

标签 ios objective-c transitions scene sprite-kit

我正在尝试使用以下代码在我的 sprite 套件项目中的场景之间执行一个简单的交叉淡入淡出过渡:

SKTransition *crossFade = [SKTransition crossFadeWithDuration:1.0f];
[self.view presentScene:game transition: crossFade];

来 self 主场景的一个方法。

这是发生了什么:

  1. 游戏场景立即出现在当前场景之上。
  2. 游戏场景在 1 秒内淡出,显示底层当前场景。
  3. 游戏场景立即出现在当前场景之上。

这是我期望发生的事情:

  1. 游戏场景淡入当前场景

我也在其他项目(如 this one)中对此进行了测试,我获得了相同的行为。

过渡是否按预期进行,还是我做错了什么?

最佳答案

我有一个非常相似的问题。使用断点并确保只调用一次。如果它在更新功能或类似的东西中,那么它可能被调用两次。如果只调用一次,请检查您要移动到的场景中的代码。您可能无法正确初始化它和/或调用前一个场景的演示。

关于ios - SpriteKit crossFadeWithDuration : between scenes not working as expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383106/

相关文章:

ios - 如何通过继承在自定义类和Apple提供的类之间共享属性?

objective-c - NSManagedObject 作为存储并持续分析原始数据

c++ - 伺服转换应该具有什么抽象级别?

ios - 更改添加为 subview 的形状的颜色

ios - 在 Swift 中批量创建变量

ios - 呈现一个导航栏和一个非 Root View 选项卡 Controller

ios - 检测 iOS 应用程序中的日期变化

objective-c - 按修改日期降序获取文件夹顺序中的文件列表

Android ICS Activity 从淡入/淡出到幻灯片的转换

ios - 在导航 Controller 上推送时 View 变暗