1

スキンを使用すると、シェイプ レンダラーで描画したシェイプが表示されません。シェイプは、ShapeRenderer のインスタンスを使用してアクター内に描画されます。空のテーブルを追加してシェイプが表示されるため、これはスキンが原因だと思いますが、スキンのインスタンスを追加するとシェイプが表示されません。

このコードは、github の libgdx テストからのものです。

Skin skin = new Skin(Gdx.files.internal("data/uiskin.json"));

Label nameLabel = new Label("Name:", skin);

Table t1 = new Table();
t1.setFillParent(true);
t1.add(nameLabel);
stage.addActor(t1);
4

1 に答える 1

2

アクターを呼び出す必要がある場合は、使用する前.end()に使用する必要があります。それ以外の場合は、2 つの同時実行バッチがあります。SpriteBatchShapeRender.begin()ShapeRender.end()SpriteBatch.begin()

actor.draw(SpriteBatch batch, float delta){
   batch.end();
   ShapeRender.begin(Some Typee);//start it with your shapetype
   //drawing stuff with the shaperender
   ShapeRender.end();//dont forget to end it
   batch.begin(); //need to be started again for the next actors to be dawn
}

空のテーブルは問題になりません。

于 2013-05-28T07:04:13.313 に答える