第一次加载新的 SKScene 时滞后
Loading a new SKScene for the first time lags
我正在使用 SpriteKit 和 swift 在 Xcode 6 中制作一款游戏。当我第一次从我的起始场景转移到我的 "Play Game Scene" 时,需要 5 到 10 秒。我试过从其他各种场景转到这个场景,但我仍然遇到同样的延迟。一开始我以为是代码问题,但是这个问题是最近才出现的,而且,在我第一次进入这个场景之后(而且它滞后),然后我转移到另一个场景(游戏结束场景),当我回到它,它不再滞后。它只在我第一次转移到这个场景时滞后。我还尝试制作一个新项目并将所有场景中的所有代码复制并粘贴到新场景中。如果对此有一个简单的解释,请帮助。不明白为什么只有第一次去现场才会卡顿。如果没有一个简单的答案,我想我将不得不通读所有代码……再读一遍。任何帮助表示赞赏。谢谢!
-卡勒姆
您的场景可能会在您第一次启动场景时将纹理或其他文件加载到内存中,然后这些文件会在会话的其余部分保留在内存中。如果您有要在场景中加载的纹理图集,则可以使用以下方法预加载这些图集:
SKTextureAtlas.preloadTextureAtlases(textureAtlases: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
8个月后我回到这个项目,发现是因为我使用了非特定的字体名称。我用的字体是"Felt Marker",但应该是"Felt Market-Thin"。如果您不提供确切的字体名称,则需要几秒钟的时间才能确定它不是特定的,因此它会使用默认值。
以下是所有 IOS 字体及其特定类型的列表:
我正在使用 SpriteKit 和 swift 在 Xcode 6 中制作一款游戏。当我第一次从我的起始场景转移到我的 "Play Game Scene" 时,需要 5 到 10 秒。我试过从其他各种场景转到这个场景,但我仍然遇到同样的延迟。一开始我以为是代码问题,但是这个问题是最近才出现的,而且,在我第一次进入这个场景之后(而且它滞后),然后我转移到另一个场景(游戏结束场景),当我回到它,它不再滞后。它只在我第一次转移到这个场景时滞后。我还尝试制作一个新项目并将所有场景中的所有代码复制并粘贴到新场景中。如果对此有一个简单的解释,请帮助。不明白为什么只有第一次去现场才会卡顿。如果没有一个简单的答案,我想我将不得不通读所有代码……再读一遍。任何帮助表示赞赏。谢谢!
-卡勒姆
您的场景可能会在您第一次启动场景时将纹理或其他文件加载到内存中,然后这些文件会在会话的其余部分保留在内存中。如果您有要在场景中加载的纹理图集,则可以使用以下方法预加载这些图集:
SKTextureAtlas.preloadTextureAtlases(textureAtlases: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)
8个月后我回到这个项目,发现是因为我使用了非特定的字体名称。我用的字体是"Felt Marker",但应该是"Felt Market-Thin"。如果您不提供确切的字体名称,则需要几秒钟的时间才能确定它不是特定的,因此它会使用默认值。
以下是所有 IOS 字体及其特定类型的列表: