SpriteKit 游戏加载屏幕(不是启动画面)

Posted

技术标签:

【中文标题】SpriteKit 游戏加载屏幕(不是启动画面)【英文标题】:SpriteKit Game Loading Screen (Not A Splash Screen) 【发布时间】:2016-03-29 14:26:52 【问题描述】:

您如何知道在游戏开始前何时使用加载屏幕?我不是在谈论打开应用程序时出现的启动画面。我说的是游戏开始之前或菜单选项出现之前的实际加载屏幕(通常带有加载栏)? (例如:愤怒的小鸟、终极公文包、部落冲突)您如何知道何时达到需要加载屏幕的资产、音频文件等数量的阈值?你把它放在场景文件中吗?或者别的地方?

(这是在 Xcode / Spritekit 的上下文中)

抱歉所有问题。只是想了解并让我的游戏变得更好。感谢您的帮助!

【问题讨论】:

您可能想在这里重新考虑您的问题,并将它们分解以适应您的需要。诸如“何时使用加载屏幕?”之类的问题。对 SO 来说是一个广泛的问题,但是“如何将加载屏幕放入场景文件中?”可以接受。 【参考方案1】:

回答:除非万不得已,否则不应使用加载屏幕。不要为了使用一个而使用一个。如果存在真正可察觉的延迟,请使用加载屏幕。要确定您的游戏是否滞后,请通过最坏的场景(最大数量的精灵等)对代码进行基准测试和测试,即使它们不太可能发生。要了解什么是滞后,以下问题将有很大帮助:

What is the shortest perceivable application response delay?

【讨论】:

【参考方案2】:

应在何处以及如何加载资源完全取决于您。你应该根据许多因素来决定,但通常这取决于你的游戏中发生了什么以及你如何在内部处理你的资源(你什么时候需要资源,你什么时候从内存中释放它们等等)。

我记得在 Apple 的 Adventure 示例游戏(不再提供下载)中,所有共享资源都是在游戏开始时预加载的。不过,您不必这样做。您可以在适合您的应用时预加载资源,或者您可能希望在菜单中(或在游戏场景以外的其他场景中)释放资源。

没有任何规定(如在文档或其他地方)关于何时应该显示加载屏幕,甚至没有规定您必须有一个加载屏幕。加载屏幕的重点是更好的用户体验。

就个人而言,如果您必须让用户在游戏开始前等待 10 秒(这实际上很少见),我会在那里做两件事:

1) 显示加载图像(或动画,如旋转动画)

2) 显示有关游戏的提示或有趣的事实,例如每 3 秒(或在这种情况下可接受的延迟)。这样一来,您就可以在玩家等待时向他介绍游戏,这比让他们等着看旋转动画要好。

【讨论】:

以上是关于SpriteKit 游戏加载屏幕(不是启动画面)的主要内容,如果未能解决你的问题,请参考以下文章

Spritekit 动画加载时间

如何在 SpriteKit SKScene 类中启动 ReplayKit 屏幕录制

如何使用 SpriteKit 检测节点是不是离开屏幕 [重复]

横向启动画面未加载

如何完全删除启动画面,以便立即加载游戏? Cocos2d + SpriteBuilder

网站加载前的欢迎画面(点击进入)[启动画面]