Как и где делать перерисовку экрана с заданным периодом?

Надо сделать движение предмета на одну клетку поля каждые 10 мс.
Как это правильно делается на LibGdx?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
GavriKos
@GavriKos
Должен быть какой то Render или Update, который вызывается каждый кадр. У libGDX его вроде Screen реализует.
Вот там считаете сколько времени прошло, и если надо - двигаете
Ответ написан
Beshere
@Beshere
Разработчик
public class MainScreen implements Screen {

    OrthographicCamera camera;

    public MainScreen() {
        camera = new OrthographicCamera();
        camera.setToOrtho(false, 800, 480);
    }

    @Override
    public void show() {

    }

    @Override
    public void render(float delta) {

        // очищаем экран темно-синим цветом.
        // Аргументы для glClearColor красный, зеленый
        // синий и альфа компонент в диапазоне [0,1]
        // цвета используемого для очистки экрана.
        Gdx.gl.glClearColor(0, 0, 0.2f, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        // сообщает камере, что нужно обновить матрицы
        camera.update();

        batch.begin();
        // Тут отрисовка спрайтов
        batch.end();
    }

    @Override
    public void resize(int width, int height) {

    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {

    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы