загрузка ассетов FB Instant Game; застрял на 0%

Я новичок в Javascript и Phaser. Моя игра отлично работает на моем веб-хостинге. Я попытался добавить Instant Games SDK, но активы не загружаются.

Я попробовал Facebook Instant Games в руководстве по Phaser 3 с веб-сайта Phaser. и я попытался реализовать то, что они сказали, но ничего не получилось; экран загрузки завис на 0%.

FBInstant.initializeAsync().then(function() {  
      let gameConfig = {
      type: Phaser.AUTO,
      backgroundColor:0x87ceeb,
      scale: {
          mode: Phaser.Scale.FIT,
          autoCenter: Phaser.Scale.CENTER_BOTH,
          parent: 'thegame',
          width: window.innerWidth,
          height: window.innerHeight
      },
      physics: {
          default: 'arcade'
      },
      scene: [preloader,welcomeGame,
              playGame,
              resumeGame,
              gameOver
              ]
  }
  game = new Phaser.Game(gameConfig);
}); 

class preloader extends Phaser.Scene{
  constructor(){
      super('Preloader');
  }

   preload() {

      this.facebook.once('startgame', this.startGame, this);
      this.facebook.showLoadProgress(this);

      this.load.image('logoBanner', '/src/img/logoBanner.png');
      //.
      //.
      //.
      //.

      this.load.audio("jump", ["/src/music/jump.ogg","/src/music/jump.mp3"]);

        }

  startGame ()
  {
      this.scene.start('WelcomeGame');
  }


person Aidid Alam    schedule 22.10.2019    source источник


Ответы (1)


То, что вам нужно сделать, очень просто. После загрузки ваших ресурсов вам необходимо вызвать следующие методы:

FBInstant.setLoadingProgress(100);

а потом

FBInstant.startGameAsync().then(function() {
          startGame();          
        });

Конечно, вы можете сделать набор setLoadingProgress динамическим.

Веселиться.

person Bonomi    schedule 31.12.2019