触摸对象并且分数增量不起作用

时间:2017-05-17 08:21:34

标签: libgdx touch

我有一系列硬币。我只需触摸一枚硬币即可增加分数。

    if (Gdx.input.isTouched()) {
        Vector3 touchPos = new Vector3();
        touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
        game.camera.unproject(touchPos);
        for (int i = 0; i < coins.length; i++) {
            Rectangle textureBounds = new Rectangle(coins[i].getX(), coins[i].getY(), coins[i].getWidth(),
                    coins[i].getHeight());

            if (textureBounds.contains(touchPos.x, touchPos.y)/* && !coins[i].isTapBool()*/) {
           System.out.println("touched");

                coins[i].setTapBool(true);
            }
        }
    }

增量得分如下:

for (int i = 0; i < coins.length; i++) {
        if (coins[i].isTapBool()&&coins[i].isCoinVisible()) {

            coinScoreController.updateCoinScore(delta);//score=score+1
            coins[i].setTapBool(false);
        }
    coins[i].isTapBool());
    }

现在,每当我触摸硬币分数增加13而不是1.在tap条件下的打印语句也会打印13次。 我想将分数增加1。 如何解决这个问题?我在代码中做错了什么?

1 个答案:

答案 0 :(得分:0)

我在将Gdx.input.isTouched()更改为Gdx.input.justTouched()后得到了它。