我正在使用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中实现形状绘制?有人可以解释为什么这两个电话的工作方式不同吗?
最近我不得不这样做 - 我从传递到draw()方法的SpriteBatch中设置ShapeRenderer的变换和投影矩阵。它看起来效率不高,但它的工作原理。 – locka 2014-04-02 10:02:08