我只是想在libgdx的阶段中添加一个点击侦听器,但是我的代码在这里不起作用。
stage.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("CLICK", "LISTENER");
parallaxBackground.reverse();
return super.touchDown(event, x, y, pointer, button);
}
});
这来自我的主游戏屏幕,该屏幕继承自抽象屏幕,
Gdx.input.setInputProcessor(stage);
在抽象类中,我也称之为
stage.act(delta);
我super.render()
也是孩子班上最明确的人
是什么原因造成的!
编辑
我不知道这是否重要,但是我的舞台上没有演员,但我只想简单地点击一下即可。
由于您没有在舞台上添加任何演员,因此您的舞台没有任何实质内容,因此无法被触摸。
您可以添加一个与屏幕大小相同并与屏幕对齐的actor,以执行您要尝试的操作。像这样(未经测试):
Actor screenActor = new Actor(){
public void act (float delta) {
super.act(delta);
Viewport viewport = getStage().getViewport();
width = viewport.getScreenWidth();
height = viewport.getScreenHeight();
x = viewport.getScreenX();
y = viewport.getScreenY();
}
};
stage.addActor(screenActor);
您将首先添加此actor,这样其他actor会在拦截触摸时获得第一个效果,这就是后备。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句