使用 Phaser 的游戏 canvas 上的绿色方块

Green square on game canvas using Phaser

谁能告诉我为什么我的 Phaser 游戏 canvas 会出现绿色方块,如下所示?

在没有看到任何代码的情况下,我可以告诉您,当 Phaser 框架无法加载图像时,您会看到这一点。

在您选择的浏览器中打开开发人员工具,并在打开“网络”选项卡后刷新。您应该会看到其中一张图片出现 404。

我相信如果您查看标准浏览器控制台,您可能还会看到有关未能加载的资产名称的消息。

我的情况略有不同。图像正在 init 函数中加载,这显然不起作用。我将该函数重命名为 preload,突然绿色方块消失了,图像出现了。

我的情况也有点不同;似乎我的所有图像资源都已加载,但我认为我尝试创建精灵的速度有点太快了 - 换句话说,我试图在场景正确加载之前创建精灵并将其添加到我的场景中。

我将尝试等到 'scene.scene.isActive(key);' returns 布尔值为真......也许这会解决我的问题。如果做不到这一点,我可能只是做出某种 sleep/await 1 秒或其他承诺(不理想,但可能有效)

另请注意:我能够过快地创建我的精灵的部分原因是因为我是在我自己的自定义函数中这样做的,而不是典型的 create() 函数。实际上,最好的解决方案可能是在 create() 函数而不是自定义函数中创建我的精灵...