Оскільки Table.drawDebug застарілий у libGDX, що я повинен використовувати замість цього?


10

Я дотримуюся книги "Навчання розвитку ігор LibGDX", щоб зробити просту гру. Я перебуваю в розділі створення меню, де ми створюємо етап і візуалізуємо його з межами налагодження.

У книзі йдеться про використання, Table.drawDebug(stage)але цей статичний метод, здається, повністю видалено з Tableкласу фреймворків .

Я імпортую com.badlogic.gdx.scenes.scene2d.ui.Table; нижче мій код:

@Override
public void render(float deltaTime) {
    Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    if (debugEnabled) {
        debugRebuildStage -= deltaTime;
        if (debugRebuildStage <= 0) {
            debugRebuildStage = DEBUG_REBUILD_INTERVAL;
            rebuildStage();
        }
    }
    stage.act(deltaTime);
    stage.draw();

    Table.drawDebug(stage);
}

Останній рядок, Table.drawDebug(stage);має помилку компіляції"The method drawDebug(ShapeRenderer) in the type Table is not applicable for the arguments (Stage)"

Чи є новий спосіб намалювати сцену в режимі налагодження?

Відповіді:


11

Це ще раз змінилося.

Правильний код методу наразі такий, як stage.setDebug()він, здавалося б, був видалений (не вдається знайти версію, що сталася) і замінений на stage.setDebugAll(true);:

@Override
public void render(float deltaTime) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    if (debugEnabled) {
        debugRebuildStage -= deltaTime;
        if (debugRebuildStage <= 0) {
            debugRebuildStage = DEBUG_REBUILD_INTERVAL;
            rebuildStage();
        }
    }
    stage.act(deltaTime);
    stage.draw();
    stage.setDebugAll(true);
}

Документація API Scene2d для класу Stage .


5

Знайшов відповідь, замість статичного Table.drawDebug(stage);виклику існує метод екземпляра, який називається stage.setDebug().


1
З поточною версією libGDX, схоже, це вже не так, принаймні, якщо це буде замінено там, де ця книга розміщена.
Джеймс Скемп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.