【问题标题】:Why method setValue of Firebase restart my game activity?为什么 Firebase 的 setValue 方法会重新启动我的游戏活动?
【发布时间】:2021-03-17 10:09:21
【问题描述】:

我正在尝试为安卓设备开发多人版本的 arkanoid,但我被卡住了。

这是存储库,以防您想靠近它:

https://github.com/SmsArkanoid/Arkanoid-android-game-master.

问题在于 GameMulti.java 和 PlayMulti.java 。 我确实创建了一个房间,两个玩家可以一起玩(将一起玩)。

我创建了一个函数更新,用于刷新屏幕上对象的位置:ball 、 paddle 、brick ecc。

目前我的目标是更新 firebase 数据库上的分数。 分数在 player1 和 player2 之间分开。所以我使用数据库引用分数和设定值来做到这一点。这 是 可行 的 , 除了 随着 值 的 更新 , 活动 重置 和 游戏 重新 启动 .

for (int i = 0; i < list.size(); i++) {
                Brick b = list.get(i);
                int random = ThreadLocalRandom.current().nextInt(0, 10);
                for (Ball ball : balls){
                    if (ball.suddenlyBrick(b.getX(), b.getY())) {
                        list.remove(i);
                        contatore--;
                        guarateed_upg++;
                        this.score +=  80;
                        pointReference.setValue(score);
                        if((random<=2 || guarateed_upg == 10)&& upgrades.isEmpty()) {
                            tipo = (int) (1 + Math.random()*3);
                            Log.i("the random number is" , ""+tipo);
                            if(upgrades.isEmpty()){
                                upgrades.add(new Upgrade(b.getX(), b.getY(), 10, context , tipo));
                            }
                            guarateed_upg =0;
                        }
                    }
                }

数据库的结构是 Room -> Player 1 -> Score 。连接到同一个房间的 player2 也是如此。

提前感谢任何会帮助我的人。 我希望我已经足够清楚地解释了我的问题。

【问题讨论】:

    标签: python firebase firebase-realtime-database setvalue


    【解决方案1】:

    最后,我解决了我的问题。

    这是与为游戏创建房间的活动有关的问题。

    在这个活动中,有一个 ValueEventListener 保持打开状态,并且在 onchange 方法的块中启动了游戏活动。

    所以随着游戏的开始,数据库被更新,一个新的活动被调用。

    所以解决方案是关闭其他活动上的 ValueEventListener 。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多