Karena Table.drawDebug sudah usang di libGDX, apa yang harus saya gunakan?

10

Saya mengikuti buku "Learning LibGDX Game Development" untuk membuat game sederhana. Saya di bagian pembuatan menu tempat kami membuat panggung dan membuatnya dengan batas debug.

Buku itu mengatakan untuk menggunakan Table.drawDebug(stage)tetapi metode statis ini tampaknya telah dihapus dari Tablekelas frameworks sepenuhnya.

Saya mengimpor com.badlogic.gdx.scenes.scene2d.ui.Table; di bawah ini adalah kode saya:

@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);
}

Baris terakhir, Table.drawDebug(stage);memiliki kesalahan kompilasi"The method drawDebug(ShapeRenderer) in the type Table is not applicable for the arguments (Stage)"

Apakah ada cara baru untuk menggambar panggung dalam mode debug?

Shijima
sumber

Jawaban:

11

Ini telah berubah sekali lagi.

Kode yang benar untuk metode saat ini adalah sebagai berikut, seperti yang stage.setDebug()tampaknya telah dihapus (tidak dapat menemukan versi apa yang terjadi) dan diganti dengan 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);
}

Dokumentasi Scene2d API untuk kelas Stage .

James Skemp
sumber
5

Menemukan jawabannya, alih-alih Table.drawDebug(stage);panggilan statis ada metode instan yang disebut stage.setDebug().

Shijima
sumber
1
Dengan versi libGDX saat ini, ini tampaknya tidak lagi menjadi masalah, setidaknya jika ini ditukar di tempat yang sama dengan tempat buku itu meletakkannya.
James Skemp