如何查看libgdx中是否触摸了纹理?

use*_*731 1 java android libgdx

我希望我的纹理在触摸时移动到屏幕上的随机位置,当它错过时我想要system.out("错过").我无法弄清楚如何触及它.现在如果屏幕是触摸,它记录了约10触摸的每一个触摸,因为它呈现如此之快我只能得到.

    public void render(float delta) {
    Gdx.gl.glClearColor(0,1,0,1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);   



    camera.update();
    game.batch.setProjectionMatrix(camera.combined);
    game.batch.begin();
    if(Gdx.input.isTouched())
    {
        int randomX2 = (int)MathUtils.random(100,500);
    int randomY2 = (int)MathUtils.random(100,500);
        game.batch.draw(boxImage, randomX2, randomY2);

    }

    game.batch.end();

}
Run Code Online (Sandbox Code Playgroud)

Bol*_*aul 8

如果randomX2并且randomY2是纹理的坐标,可以使用以下代码进行检查:

Rectangle bounds = new Rectangle(randomX2, randomY2, boxImage.getWidth(), boxImage.getHeight());
Vector3 tmp = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
camera.unproject(tmp);

if (bounds.contains(tmp.x, tmp.y)) {
    System.out.println("Is touched");
}
Run Code Online (Sandbox Code Playgroud)