FB Instant Game资产加载;卡在0%

时间:2019-10-22 22:27:13

标签: javascript phaser-framework facebook-instant-games

我是 Javascript Phaser 的新手。我的游戏在我的虚拟主机中运行良好。我试图添加Instant Games SDK,但是资产未加载。

我曾在 Phaser 3 tutorial from Phaser website 中尝试过Facebook Instant Games,但我尝试实现他们所说的内容,但没有任何效果;加载屏幕停留在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');
  }

1 个答案:

答案 0 :(得分:0)

您需要做的非常简单。加载资产后,您需要调用以下方法:

FBInstant.setLoadingProgress(100);

然后

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

您当然可以使set setLoadingProgress动态化。

玩得开心。