phaser-framework - Phaser3 检查预加载是否已运行
问题描述
我正在尝试将 socket.io 与移相器一起使用,但在连接时生成玩家时遇到了问题。我很确定这是因为连接发生时没有加载播放器的图像。我基本上只需要一种方法来检查预加载功能是否完成。像这样的东西:
function preload() {
game.load.image('player', 'client/assets/player.png');
let interval = setInterval(() => {
if(LOADED) {
loaded = true;
clearInterval(interval);
}
}, 1);
}
这样的事情可能吗,还是有另一种方法?谢谢。
编辑:
我能够使它像这样工作:
function preload() {
game.load.image('player', 'client/assets/player.png');
setTimeout(() => {
loaded = true;
}, 100);
};
在生成播放器的函数中:
let testI = setInterval(() => {
console.log(loaded);
if(loaded) {
let test = game.add.sprite(0, 0, 'player');
game.physics.enable(test, Phaser.Physics.ARCADE);
test.body.gravity.y = 200;
clearInterval(testI);
}
}, 1);
但它非常混乱,不是一个好的解决方案
解决方案
推荐阅读
- linux-kernel - 使用内核头文件编译内核模块
- wordpress - 如何从 docker 容器之间的前端应用程序向 API 服务器请求
- java - 使用 OXhoo TP85 打印机通过 JavaPOS 接收命令响应
- python - 无法在使用 heroku 部署的 django 应用程序中运行压缩
- node.js - fs.promises.readFile ENOENT 错误中没有堆栈
- python - 在某些条目充当后续条目的标题的列表中循环的最 Pythonic 方式是什么?
- excel - 有没有办法通过仅粘贴值但保留表格来将完整的工作表复制到另一个工作簿?
- c++ - 下面的代码打印 VS2019 中 pi 号的字符,而不是字符 `ã`。我错过了什么?
- azure-cognitive-search - Azure 认知搜索中的隐藏或负面提升
- c# - Selenium 无头不阅读菜单