Vì Table.drawDebug không được dùng trong libGDX, tôi nên sử dụng cái gì thay thế?


10

Tôi đang theo dõi cuốn sách "Học phát triển trò chơi LibGDX" để tạo ra một trò chơi đơn giản. Tôi đang ở trong phần tạo menu nơi chúng ta tạo một giai đoạn và kết xuất nó với các đường viền gỡ lỗi.

Cuốn sách nói rằng sẽ sử dụng Table.drawDebug(stage)nhưng phương thức tĩnh này dường như đã bị xóa Tablehoàn toàn khỏi lớp khung .

Tôi đang nhập khẩu com.badlogic.gdx.scenes.scene2d.ui.Table; dưới đây là mã của tôi:

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

Dòng cuối cùng, Table.drawDebug(stage);có lỗi biên dịch"The method drawDebug(ShapeRenderer) in the type Table is not applicable for the arguments (Stage)"

Có một cách mới để vẽ sân khấu trong chế độ gỡ lỗi?

Câu trả lời:


11

Điều này đã thay đổi một lần nữa.

Mã chính xác cho phương thức hiện tại như sau, stage.setDebug()dường như đã bị xóa (không thể tìm thấy phiên bản nào đã xảy ra) và được thay thế bằng 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);
}

Tài liệu API của Scene2d cho lớp Giai đoạn .


5

Tìm thấy câu trả lời, thay vì Table.drawDebug(stage);cuộc gọi tĩnh, có một phương thức thể hiện được gọi stage.setDebug().


1
Với phiên bản hiện tại của libGDX, điều này dường như không còn là trường hợp nữa, ít nhất là nếu điều này được hoán đổi ở cùng một nơi với nơi cuốn sách đó đặt nó.
James Skemp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.