我在Sprite Kit游戏中使用了纹理地图集。我正在创建SKTextureAtlas
对象,并将其纹理存储在每个动画的数组中。因此,当我需要对英雄使用一些动画时,我会调用animateWithTextures
将其发送给相应的数组。开始动画时会有一些滞后。有什么方法可以使动画顺利开始吗?
最佳答案
我相信几乎没有办法解决这个问题。您需要做的是在游戏开始之前预加载地图集。只需在游戏开始时显示加载屏幕并预加载地图集即可。
您可以尝试+ preloadTextureAtlases:withCompletionHandler:
[SKTextureAtlas preloadTextureAtlases:textureAtlasesArray withCompletionHandler:^{ /*Game Start*/}];
在Adventure game example中描述了在其他所有内容之前实现资源加载的另一种方法(并将所有内容保存在内存中)
有关异步加载资产的更多详细信息,请查看可从上面的链接下载的代码。
关于ios - Sprite Kit animateWithTextures滞后,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28041605/