leaderboard.setScore未在Facebook Instant Games的Phaser 3插件中保存分数

时间:2019-02-14 06:39:52

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

我已经开始将phaser3插件用于Facebook即时游戏。我试图将玩家分数保存到排行榜中,但是每次重新加载游戏时,排行榜都不会显示分数条目。

这就是我在做什么:

class Game extends Phaser.Scene{

constructor(){
    super({ key: 'Game', active: false });

}

create(){

    this.facebook.on('getleaderboard', function(leaderboard){
        this.leaderboard = leaderboard;

        console.log('leaderboard in preloader: ', this.leaderboard);
    }, this);

    this.facebook.getLeaderboard('leaderboard');
}

update(){
    if (this.game_over){
        this.leaderboard.setScore(this.score);
        return;
    }

}    
}

让我们的假设this.game_over在某个时候成为现实。排行榜已在Facebook开发人员门户中正确创建,并且正在正确检索(因为我可以在控制台中看到它,甚至包括它的组件),每次都为空。

顺便说一句,我正在使用Facebook嵌入式播放器测试我的游戏,但看不到为什么会是问题。

我已遵循this教程,但没有成功。

有人遇到过类似情况吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

为什么将函数放在UPDATE函数上?我认为这是错误的,因为更新功能每次都会加载。

生活结束后设置功能

setScore(score){
 ...facebook function
}

死后调用,而不是在UPDATE()上调用