使用SpriteKit在Objective-C中预加载游戏数据

问题描述:

我的游戏提供了“选择级别”功能,允许用户选择想玩的级别(您猜对了)。使用SpriteKit在Objective-C中预加载游戏数据

我处理这个函数的方式是加载所有关卡信息并通过滚动幻灯片显示出来。该引擎工作正常,但我得到的问题是一个无聊的“滞后”(约7秒),在“Choose Level”单击后。我敢肯定,这是对所有的应用程序是加载的信息:

  • 所有每个级别的预览图像(52级)
  • 读取plist文件和加载数据
  • 计算的百分比完成通过显示每个级别的进度条

我刚刚创建了我的“加载”部分,但我真的不知道如何处理它。任何帮助?

注:我使用SpriteKit和所有的图像是一个图谱图像内的第一

第一件事,尝试通过使用分析,让您的加载时间缩短。

至于你的问题: 加载微调将是最合适的。您可以将其添加到选择关卡的源视图或显示中间屏幕,或者在准备好之前在游戏场景中显示微调器。

我不建议在选择它之前加载该级别,因为这是太多工作。

+0

我有一个问题......如果我使用加载微调创建中间屏幕,是否也会阻止它?我发现有人说通过多线程来执行这个动作。这样对吗? – user3582537

+0

你永远不应该在主线程上执行你的资源加载。没有加载微调器不需要主动工作,时间延迟不可忽略,但是很小。我的建议是在游戏屏幕上叠加一层,然后在游戏屏幕准备就绪后移除。在主线上加载游戏会降低游戏速度。请使用宏*调度来利用线程。 –