繁体   English   中英

如何在libGDX Java中检测对精灵或纹理的触摸?

[英]How to detect touch on sprite or texture in libGDX java?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM