避免 Phaser.io 中的幻数

Avoiding magic numbers in Phaser.io

在 HTML5 canvas 游戏开发 Phaser.io 的问题域中,硬编码问题 "magic numbers" 尤其难以避免。以下是一些似乎经常出现的具体示例:

我知道这些问题的解决方案往往取决于所讨论的游戏,但这些问题似乎如此普遍和广泛传播,以至于必须有一些通用的常识性最佳实践来避免它们。专门用于 Phaser.io

中的游戏开发

这些事情可以通过充分的准备来解决。

精灵属性(即缩放)

这里是解决 Phaser 缩放问题的好资源:

http://www.joshmorony.com/how-to-scale-a-game-for-all-device-sizes-in-phaser/

基本上您可以根据设备的像素比缩放游戏。

物理与时间(减速调整)

这里我们必须根据用户设备的性能调整游戏中的参数。几十年来,PC 游戏一直在解决这个问题,因为每台机器都大不相同。

传统上,您会有默认的性能设置,用户可以通过设置菜单调整它们。这个简单有效。

如今,这些值通常针对用户的设备进行单独调整。然后用户可以根据需要手动调整它们。

每个设备更改的所有设置都可以存储在您选择的 singleton/cfg class 位置。