【问题标题】:How to detect touch on sprite or texture in libGDX java?如何在 libGDX java 中检测精灵或纹理的触摸?
【发布时间】:2019-03-08 14:56:54
【问题描述】:

我有一个主页按钮图标,它只是一个带有图像的普通精灵。 我想在触摸此按钮时执行一些操作。如何向此按钮添加触摸侦听器,或者有其他更简单的方法吗?

【问题讨论】:

标签: java android libgdx sprite


【解决方案1】:

这样做的一种方法是使用按钮的按钮边界设置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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    相关资源
    最近更新 更多