Как использовать wait for batch в Libgdx - PullRequest
0 голосов
/ 25 января 2012

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

public void render() {
    x = rand.nextFloat() * 1024;
    y = rand.nextFloat() * 700;
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(texture, x, y);
    if (Gdx.input.justTouched()) {
        if (Gdx.input.getX() > x && Gdx.input.getX() < texture.getWidth() + x) {
            if (Gdx.input.getY() > y && Gdx.input.getY() < texture.getHeight() + y) {
                batch.end();
            }
        }
    }
}

или используйте ожидание для создания задержки в показе изображения.

public void render() {
    x = rand.nextFloat() * 1024;
    y = rand.nextFloat() * 700;
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(texture, x, y);
    try {
        batch.wait();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    batch.end();
}

Я только начинаю GDX и Android. извините за мой плохой язык.

1 Ответ

2 голосов
/ 25 января 2012

Вам не нужно ждать ввода.Основной поток приложения опрашивает входные события для вас.Если, например, нажата кнопка мыши, то это событие опрашивается, и вы можете проверить, нажата ли в данный момент левая мышь в вашем методе render (), и действовать соответствующим образом.Например:

public void render() {
  ...
  if(Gdx.input.isButtonPressed(Buttons.LEFT)) {
      //move sprite left
  }
}

Однако я думаю, что лучше использовать InputProcessor.Реализуйте InputProcessor и зарегистрируйте его:

Gdx.input.setInputProcessor(yourInputProcessor);

В этом случае основной поток приложения обрабатывает опрошенные события и вызывает методы обратного вызова InputProcessor.

См .:

...