Как обнаружить прикосновение к спрайту или текстуре в libGDX Java? - PullRequest
0 голосов
/ 08 марта 2019

У меня есть значок домашней кнопки, который является обычным спрайтом с изображением в нем. Я хочу выполнить некоторые действия одним нажатием этой кнопки. Как я могу добавить сенсорный слушатель к этой кнопке или есть какой-нибудь другой более простой способ сделать это?

1 Ответ

0 голосов
/ 09 марта 2019

Один из способов сделать это - установить Rectangle с помощью границ кнопки для вашей кнопки.

Rectangle buttonBounds = new Rectangle(buttonX, buttonY, buttonWidth, buttonHeight);

Если вы хотите проверить, нажал ли пользователь на кнопку, в вашем render() метод, поставить:

if(Gdx.input.justTouched()){
    Vector2 touch = viewport.unproject(new Vector2(Gdx.input.getX(), Gdx.input.getY()));

    //Check if button if touched
    if(buttonBounds.contains(touch)){
        System.out.println("Button touched!");
        //Do something
    }
}

Если вы не используете Viewport, вы можете изменить viewport.unproject() на cam.unproject(), где cam - ваш Camera.

...