libGDX:输入处理器不与组一起工作

libGDX:输入处理器不与组一起工作,libgdx,scene2d,Libgdx,Scene2d,我有一个小组,我已经在我的屏幕阶段添加 //Code in show() method of my screen MyGroup myGroup = new MyGroup(); Stage stage = new Stage(); stage.add(myGroup); //And also there are few more actors which are omitted Gdx.input.setInputProcessor(stage); //Code in my group p

我有一个小组,我已经在我的屏幕阶段添加

//Code in show() method of my screen
MyGroup myGroup = new MyGroup(); 
Stage stage = new Stage();
stage.add(myGroup);
//And also there are few more actors which are omitted
Gdx.input.setInputProcessor(stage);

//Code in my group
public MyGroup extends Group implements InputProcessor{
//Many methods and attributes and a constructor
//Overridden methods of input listener.
在我的小组里,我有5个演员,他们可以互相交换,所以,我不想处理单个演员的任何输入。我想在小组里做这件事

但是当我触摸/触摸拖动时,没有一个方法被调用


请帮助。

这是因为您的
MyGroup
未注册为当前活动的
输入处理器。您需要使用
输入多路复用器
来注册
阶段
和您的

InputMultiplexer inputMultiplexer = new InputMultiplexer();
inputMultiplexer.addProcessor(stage);
inputMultiplexer.addProcessor(myGroup);
Gdx.input.setInputProcessor(inputMultiplexer);

这是因为您的
MyGroup
未注册为当前活动的
InputProcessor
。您需要使用
输入多路复用器
来注册
阶段
和您的

InputMultiplexer inputMultiplexer = new InputMultiplexer();
inputMultiplexer.addProcessor(stage);
inputMultiplexer.addProcessor(myGroup);
Gdx.input.setInputProcessor(inputMultiplexer);

现在我又面临一个问题。也就是说,我从TouchDrawed事件获得的触摸坐标在X轴上镜像。知道为什么会这样吗?这些坐标是屏幕空间坐标。舞台和演员有特殊的方法将坐标转换为不同的坐标系。例如screenToStage或stageToLocal。谢谢@noone。我用照相机。不投射。我将尝试screenToStage和StageToLocal现在我又面临一个问题。也就是说,我从TouchDrawed事件获得的触摸坐标在X轴上镜像。知道为什么会这样吗?这些坐标是屏幕空间坐标。舞台和演员有特殊的方法将坐标转换为不同的坐标系。例如screenToStage或stageToLocal。谢谢@noone。我用照相机。不投射。将尝试screenToStage和stageToLocal