第一次加载新的SKScene滞后

时间:2015-04-06 03:14:23

标签: swift sprite-kit skscene

我使用SpriteKit和swift在Xcode 6中制作游戏。当我从我的起始场景转移到我的" Play Game Scene"第一次需要5到10秒。我试过从其他各种场景进入这个场景,我仍然得到同样的滞后。我认为这是最初的代码,但这个问题最近才开始,但是,在我第一次进入这个场景后(并且它滞后),然后我转移到另一个场景(场景中的游戏),当我回到它,它不再滞后。它只是在我第一次转移到这个场景时滞后。我还尝试创建一个新项目,并将所有场景中的所有代码复制并粘贴到新场景中。如果有一个简单的解释,请帮助。我不明白为什么它只会在我第一次去现场时落后。如果没有一个简单的答案,我想我将不得不阅读所有代码...再次。任何帮助表示赞赏。谢谢!

-Callum

2 个答案:

答案 0 :(得分:0)

您的场景可能是在您第一次启动场景时将纹理或其他文件加载到内存中,然后这些文件会在剩余的会话中保留在内存中。如果您在场景中加载了纹理图集,则可以使用以下方法预加载:

SKTextureAtlas.preloadTextureAtlases(textureAtlases: [AnyObject]!, withCompletionHandler completionHandler: (() -> Void)!)

答案 1 :(得分:0)

8个月后,我回到项目中,发现这是因为我使用了非特定的字体名称。我使用的字体是“毛毡标记”,但应该是“毛毡市场 - 薄”。如果你没有给出一个确切的字体名称,那么需要几秒钟来确定它不是特定的,所以它是默认的。

以下列出了所有具有特定类型的IOS字体:

http://iosfonts.com/