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?

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 .


5

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.