2017-01-29 9 views
0

特定の長方形にjustTouchedを()を追加します。私はそれに触れると消えて欲しい。LibGDX:<a href="https://github.com/libgdx/libgdx/wiki/A-simple-game" rel="nofollow noreferrer">https://github.com/libgdx/libgdx/wiki/A-simple-game</a></p> <p>しかし、私は雨滴が消えるという方法を変更したい:私はこのコードを使用してい

if (Gdx.input.justTouched()) { 
    if (Gdx.input.getX() > raindrop.getX() && 
     Gdx.input.getX() < (raindrop.getX() + raindrop.getWidth()) && 
     Gdx.input.getY() > raindrop.getY() && 
     Gdx.input.getY() < (raindrop.getY() + raindrop.getHeight())) { 
    dropSound.play(); 
    iter.remove(); 
    } 
} 

それがうまく機能していない:

だから私は、これを追加しました。

ありがとうございました。あなたは何ができるか

答えて

0

使用camera.unproject(Vector)を助けることができるのは、クリック座標からかあなたのゲーム世界に触れてください。これは原点が必ずしも同じではなく、カメラを使用してズームイン、ズームアウト、回転、回転などを行うことができるため、必要です。プロジェクションを外すとそのすべてが処理され、ポインターの位置に合わせてゲームワールドの座標が与えられます。

if (Gdx.input.justTouched()) { 
    Vector3 touchPos = new Vector3(); 
    touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0); 
    camera.unproject(touchPos); 
    if (raindrop.contains(touchPos.x,touchPos.y)) { 
     dropSound.play(); 
     iter.remove(); 
    } 
} 
+1

ありがとうございます! – KDn

0

スプライトの境界矩形を取得し、あなたのマウスが長方形内にあるかどうかを確認、次のコードが画面を変換するために

if (Gdx.input.justTouched()) { 
    if (raindrop.getBoundingRectangle().contains(Gdx.input.getX, Gdx.input.getY()) { 
     dropSound.play(); 
     iter.remove(); 
    } 
}