Как асинхронно загружать ресурсы с помощью Phaser 3

В Phaser 3 вы можете предварительно загрузить свои активы в функцию под названием preload, чтобы они были готовы к использованию при запуске функции create. Но что, если вам нужно дождаться запроса API перед загрузкой актива?

К сожалению, вы не можете просто сделать функцию preload функцией async и заставить ее ждать ваших вызовов API, но есть способы обойти это.

Использование плагина Rex Await Loader

rexrainbow — отличный разработчик, который многое приносит сообществу Phaser, с веб-сайтом документации, полным примеров Phaser и кучей отличных плагинов Phaser.

Rex Await Loader Plugin можно загрузить в глобальном контексте игры, добавив его в атрибут plugins в конфигурации Phaser.

Затем в сцене preload:

Использование собственного загрузчика Phaser

Чтобы избежать загрузки внешних плагинов, также есть возможность использовать родной загрузчик Phaser, как описано yannick.

Я не знаю, как закончить этот пост, так что вот, пожалуйста, я надеюсь, что это будет полезно для кого-то в Интернете. Если это помогло вам каким-либо образом, не забудьте оставить комментарий.

Первоначально опубликовано на https://pablo.gg.