Несколько этапов – Кнопки не реагируют?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Несколько этапов – Кнопки не реагируют?

Сообщение Anonymous »

В моей игре есть 2 этапа, на каждом из которых есть стол с кнопками. В первом хранится таблица с игровыми кнопками: движение вверх/вниз и пауза. Во втором хранится таблица, представляющая меню паузы. Если нажать «пауза» (игра приостанавливается и) я хочу нарисовать второй этап, который теперь может обрабатывать ввод.
Я инициализировал 2 этапа:

Код: Выделить всё

public void create(){

...
mainStage = new Stage(viewport,batch);
menuStage = new Stage(viewport,batch);
Gdx.input.setInputProcessor(mainStage);
...
Кнопка паузы получила прослушиватель, который устанавливает (перечисление) STATE на PAUSE
(то же самое для кнопки «возобновить» в меню паузы, которая устанавливает состояние RUNNING)

Код: Выделить всё

pause.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
thisState = STATE.PAUSE;
Gdx.input.setInputProzessor(menuStage);

}
});
затем в методе рендеринга

Код: Выделить всё

switch (gameState) {
case RUNNING:

deltaTime = Gdx.graphics.getDeltaTime();
stateTime += deltaTime; // for the animations

Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

batch.setProjectionMatrix(camera.combined);

update(deltaTime);

batch.begin();
... draws the characters
batch.end();

mainStage.act(deltaTime);
mainStage.draw();
break;

case PAUSE:
Gdx.gl.glClearColor(0, 0, 0, 0.6f); I want the background to become slightly darker.
Gdx.app.log("Game State","Game is PAUSED");
menuStage.act(deltaTime);
menuStage.draw();

}
Если я запущу, кнопки mainStage появятся, но на них нельзя будет нажать. Игра останавливается, если я нажму посередине экрана. Однако прослушиватель кнопки «пауза», по-видимому, даже не реагирует на это, поскольку на консоли не было ни уведомления о том, что игра приостановлена, ни о том, что кнопка была нажата.
Мой старт Screen использует только одну сцену и отлично работает с той же настройкой.
Как я думаю, причины могут быть:
  • Я неправильно использовал setInputProcessor.
  • Я использовал Область просмотра ложно (и изменяется размер)
  • Мне нужно каким-то образом позволить первому этапу исчезнуть, прежде чем рисовать новый этап


Подробнее здесь: https://stackoverflow.com/questions/404 ... %b4t-react
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»