libGDX:输入处理器不与Group一起使用

时间:2014-07-03 10:46:21

标签: 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
public MyGroup extends Group implements InputProcessor{
//Many methods and attributes and a constructor
//Overridden methods of input listener.

在我的小组中,我有5个演员可以互相交换,所以,我不想处理个别演员的任何输入。我想在小组中这样做。

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

请帮忙。

1 个答案:

答案 0 :(得分:4)

这是因为您的MyGroup未注册为当前有效的InputProcessor。您需要使用InputMultiplexer注册StageGroup

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