Я пытаюсь использовать socket.io с phaser, и у меня возникают проблемы с порождением игроков при подключении.Я уверен, что это потому, что изображение игрока не загружается, когда происходит соединение.Мне просто нужен способ проверить, выполнена ли функция предварительной загрузки.Примерно так:
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);
Но это очень грязно и не очень хорошее решение