Image LibGDX如何知道是否有人点击纹理

Image LibGDX如何知道是否有人点击纹理,image,button,click,libgdx,textures,Image,Button,Click,Libgdx,Textures,我用的是,如果有人接触到纹理的位置,做点什么。但这是坏的,我想做一个可调整大小的游戏,因为没有人有高清及以上的屏幕,在机器人上,更糟。。。所以,我已经应用了投影矩阵,所以如果我调整它的大小,它看起来很好,但是如果我调整屏幕的大小,按钮会比原来大或小,所以现在位置不正确。所以我的问题是,有没有办法将OnClickListener设置为纹理?因此,如果我调整屏幕大小,它将起作用 或者,我想,可能还有一个按钮。但我不知道如何设置按钮的纹理。因此,在“创建函数”中,我创建了一个图像: Image bac

我用的是,如果有人接触到纹理的位置,做点什么。但这是坏的,我想做一个可调整大小的游戏,因为没有人有高清及以上的屏幕,在机器人上,更糟。。。所以,我已经应用了投影矩阵,所以如果我调整它的大小,它看起来很好,但是如果我调整屏幕的大小,按钮会比原来大或小,所以现在位置不正确。所以我的问题是,有没有办法将OnClickListener设置为纹理?因此,如果我调整屏幕大小,它将起作用


或者,我想,可能还有一个按钮。但我不知道如何设置按钮的纹理。

因此,在“创建函数”中,我创建了一个图像:

Image backImage = new Image(backTexture); //backTexture is my button texture
backImage.setX(0);
backImage.setY(0);
backImage.setWidth(800);
backImage.setHeight(480);
然后在渲染函数中,我有:

backImage.addListener(new ClickListener() {
    public boolean touchDown(InputEvent event, float x, float y, int pointer, int button)
    {
        //do something
        return true;
    }
});
我创建了一个新类,在其中我实现了InputAdapter,在create函数中我还调用

Touch t; // my touch class 
Gdx.input.setInputProcessor(t);

因此,它应该覆盖Touch.class中的触地功能,但不起作用

请尝试使用此侦听器:

image.addListener(new ChangeListener() {
        @Override
        public void changed (ChangeEvent event, Actor actor) {
            //smth
        }
    });

你可以尝试向图像中添加一个侦听器。我只是尝试这样做,但不起作用,我尝试在的帮助下设置侦听器,但是,什么都没有发生,我创建了一个Touch类,在其中我实现了InputAdapter,然后我设置了inputprocessor,可能我做错了什么。。。我应该把Image.setListener放在哪里?到touch类,或者到我的核心类?你可以从这里发布一些代码开始。那么?请看我的代码:这个代码不起作用。我会看到一个完整的代码PLS的创建和渲染。我实际上试着用这个:。他们建议他使用Clicked func,并且。。它适用于我,但如果我只单击按钮的左侧。它不适用于完整的按钮图像。因此,我不知道是否有问题,也不知道在哪里你说的左边是什么意思?你能想象一下吗?你在使用viewport吗?啊,现在它工作了,我不知道为什么它不工作。所以现在,如果我调整屏幕大小,它不适用。因此,如果我缩小屏幕,可单击的空间就不在图像中。。如何解决这个问题?在resize;?中调用初始化图像;?顺便说一句,如果我在程序启动前设置屏幕大小,它会工作。。那么,如果该程序将在带有其他屏幕的移动设备上运行,它会工作吗你应该使用视口,它会自动缩放所有内容。如果我帮助你,请接受答案并投票:你为什么要创建另一个类?将图像添加到后台文件,并将输入处理器设置为后台文件。阶段=新阶段;Gdx.input.setInputProcessorstage;阶段。添加元素年龄;是的,现在我做得更好了,是的,但我没有使用触地,我使用的是点击