You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Phaser 2 CE开发Facebook Instant Games的启动加载进度

移除Facebook Instant Games默认加载进度的方法

其实解决这个问题很简单,默认的加载进度界面是因为你调用了FBInstant.setLoadingProgress()方法——这个API是用来通知Facebook SDK当前的加载进度,SDK会自动帮你渲染对应的进度UI。要移除它,只需要两步操作:

  • 删掉所有FBInstant.setLoadingProgress()的调用
  • 在游戏资源加载完成后,手动调用FBInstant.startGameAsync()来结束加载阶段,正式进入游戏

针对你给出的代码,修改后的版本如下:

FBInstant.initializeAsync()
.then(function() {
  var images = ['phaser2'];
  
  // 监听Phaser的资源加载完成事件
  game.load.onComplete.add(function() {
    // 通知SDK加载完成,进入游戏阶段
    FBInstant.startGameAsync()
    .then(function() {
      // 这里可以写游戏启动后的逻辑,比如初始化场景、开始游戏循环等
    });
  }, this);

  // 加载资源,不再更新SDK的加载进度
  for (var i=0; i < images.length; i++) {
    var assetName = images[i];
    game.load.image(assetName, './assets/' + assetName + '.png');
  }

  // 启动Phaser的加载流程(如果之前没自动启动的话)
  game.load.start();
});

补充说明:

  • 如果你之前依赖Phaser自动处理加载流程,game.load.start()可能已经被自动调用,但显式加上更稳妥,确保资源加载流程正常触发。
  • 调用startGameAsync()是必须的,否则Facebook SDK会一直停留在加载状态,不会进入游戏界面。修改后,默认的加载进度条就不会再显示了,你可以完全用Phaser自己的加载界面来替代。

内容的提问来源于stack exchange,提问作者albator2018

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:21:13