私はscene2dを使用しています。ここに私のコードは:Libgdx - 塗りつぶし矩形をscene2dの適切な場所に描画する方法は?
group.addActor(new Actor() {
@Override
public Actor hit(float arg0, float arg1) {return null;}
@Override
public void draw(SpriteBatch batch, float arg1) {
batch.end();
shapeRenderer.begin(ShapeType.FilledRectangle);
shapeRenderer.setColor(Color.RED);
shapeRenderer.filledRect(0, 0, 300, 20);
shapeRenderer.end();
batch.begin();
}
});
問題は、画面(X = 0、Y = 0)に、この長方形の相対を描くことであるが、私は私のグループに対して描画することを必要とします。私はと他のエンティティ描くなら:
batch.draw(texture, 0, 0, width, height);
をそれが正しく(X = 0、Y = 0)の相対私のグループ(グループの左下隅から0,0ピクセル)で描画します。
任意の提案をどのように私はscene2dの描画形状を実現することができますか?そして、なぜ誰かがこの2つの呼び出しが異なる動作をする理由を説明できますか?
私は最近、自分自身でこれを行う必要がありました。私は、ShapeRendererの変換行列と投影行列をdraw()メソッドに渡されるSpriteBatchから設定しました。非常に効率的ではないように見えますが、うまくいきます。 – locka