Table.drawDebugはlibGDXでは非推奨であるため、代わりに何を使用する必要がありますか?


10

私は「Learning LibGDX Game Development」の本に従ってシンプルなゲームを作成しています。私は、ステージを作成してデバッグ境界線でレンダリングするメニュー作成セクションにいます。

本は使用するように言っています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);
}

StageクラスのScene2d APIドキュメント


5

答えが見つかりました。静的なTable.drawDebug(stage);呼び出しの代わりに、というインスタンスメソッドがありますstage.setDebug()


1
libGDXの現在のバージョンでは、少なくともその本が置かれているのと同じ場所でこれが交換されている場合、これはもはや当てはまらないようです。
James Skemp、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.