我正在使用它,如果有人触及位置在哪里是纹理,做点什么。但它是坏的,我想制作一个可调整大小的游戏,因为没有人都有高清和以上的屏幕(和机器人,更糟糕的..)。所以,我已经应用了投影矩阵,所以如果我调整大小它看起来不错,但如果我调整屏幕大小,按钮比它更大或更小,所以现在的位置不正确。所以我的问题是,是否可以将OnClickListener设置为纹理?所以如果我调整屏幕大小,它会工作。
或许,我想,也可能有一个按钮。但我不知道如何设置按钮的纹理。
答案 0 :(得分:0)
所以,在create func中我创建了一个图像:
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,在创建函数中我也调用
Touch t; // my touch class
Gdx.input.setInputProcessor(t);
所以,它应该从Touch.class覆盖TouchDown函数,但它不起作用
答案 1 :(得分:0)
尝试使用此侦听器:
image.addListener(new ChangeListener() {
@Override
public void changed (ChangeEvent event, Actor actor) {
//smth
}
});