Gdx.input.setInputProcessor для нескольких экранов.(LIBGDX, Conceptional) - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть:

  • один главный ApplicationListener
  • несколько экранов, которые я устанавливаю с помощью setScreen(screen) в моем основном в зависимости от контекста.
  • каждый экран имеетих этапы с их Inputlisteners.

Где и как я могу установить Gdx.input.setInputProcessor для разных экранов?

Я имею в виду при переключении экрана я должен отключить всех слушателейстарый экран и добавьте новые с нового экрана, чтобы они не перекрывались.Я не могу сделать это в конструкторе экрана, потому что он называется только один.Я мог бы сделать это в методе @ Override.resize на экране, но я думаю, что это не тот способ, которым я должен делать?

Где мне это сделать?

1 Ответ

0 голосов
/ 19 декабря 2018

Вы должны вызвать Gdx.input.setInputProcessor() в методе show().

Поскольку screen.show() будет вызывать каждый раз, когда вы вызываете setScreen(screen);

И вам не нужно удалять старыйодин, потому что функция Gdx.input.setInputProcessor() просто так:

@Override
public void setInputProcessor (InputProcessor processor) {
    this.processor = processor;
}

Таким образом, она заменяет старую.

...