2014-10-18 33 views
0

我曾经使用过,如果有人触摸纹理的位置,做点什么。但它是坏的,我想制作一个可调整大小的游戏,因为没有每个人都有一个高清和以上的屏幕(和机器人,更糟糕..)。所以,我已经应用了投影矩阵,所以如果我调整它的大小,它看起来不错,但是如果我调整我的屏幕大小,按钮是比它更大或更小,所以位置现在不正确。所以我的问题是,是否有任何方法将OnClickListener设置为纹理?所以它会工作,如果我调整屏幕。LibGDX如何知道是否有人点击纹理

或者,也许,我认为,也可能有一个按钮。但我不知道如何设置按钮的纹理。

+0

你可以尝试添加监听到的图像。 – lxknvlk 2014-10-18 17:30:40

+0

我只是想做到这一点,它不工作,我试图设置听众的帮助从http://stackoverflow.com/questions/13863138/what-is-the-simplest-way-to-make- image-touchable-in-libgdx但是,没有任何事情发生,我创建了一个Touch类,其中我实现了InputAdapter,然后设置了输入处理器,也许我做了一些错误的事情......我应该把Image.setListener ?触摸类,或我的核心类? – Kalir4488 2014-10-18 21:39:43

+0

您可以从这里发布一些代码开始。 – lxknvlk 2014-10-19 11:08:16

回答

0

尝试使用这个监听器:

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

此代码不起作用。我会看到完整的代码(创建和渲染)。我其实试图使用这个:http://stackoverflow.com/questions/23574821/libgdx-clickable-image-not-working。他们建议他使用Clicked()函数,并且它适用于我,但是如果我只在按钮的左侧单击。它不适用于完整的按钮图像。所以我不知道是否有问题或在哪里。 :D – Kalir4488 2014-10-21 12:56:01

+0

你是什么意思左边?你能想象它吗?你在使用视口吗? – lxknvlk 2014-10-21 18:24:15

+0

啊,现在它工作,我不知道为什么它没有奏效。所以,现在,如果我正在调整屏幕大小,它不适用。所以如果我让我的屏幕更小,可点击的空间不在图像中..如何解决这个问题?在resize()中调用初始化图像;?顺便说一句。如果我在编程开始之前设置了屏幕大小,那么它可以工作。所以,我能期待如果程序将在另一个屏幕上运行在移动设备上,它会工作吗? :):D – Kalir4488 2014-10-21 18:58:47

0

因此,在创建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); 

所以,它应该覆盖TouchDown函数来回米Touch.class,但它不工作

+0

你为什么要创建另一个类?将图像添加到舞台,并将输入处理器设置到舞台。 'stage = new Stage(); Gdx.input.setInputProcessor(stage); stage.addActor(image);' – lxknvlk 2014-10-23 06:21:27

+0

是的,现在我做得更好了 – Kalir4488 2014-10-23 12:49:06

+0

它工作吗? – lxknvlk 2014-10-23 15:04:14

相关问题