0

我已经开始为 Facebook 即时游戏使用 Phaser3 插件。我正在尝试将玩家得分保存到排行榜,但每次我重新加载游戏时,排行榜都没有显示得分条目。

这就是我正在做的事情:

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 嵌入式播放器测试我的游戏,但不明白为什么这可能是问题所在。

我已按照教程进行操作,但没有成功。

有没有人遇到过类似的情况?

提前致谢。

4

1 回答 1

0

为什么你把你的功能放在 UPDATE 功能上?我认为它是错误的,因为更新功能每次都会加载。

当你的生命结束时设置一个功能

setScore(score){
 ...facebook function
}

并在你死时打电话,而不是在 UPDATE()

于 2020-08-13T16:54:21.500 回答