我正在使用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);
它正确地绘制在我的组的相对位置(相对于组左下角的(0,0像素)),即(x = 0,y = 0)。
有什么建议我如何在scene2d中实现形状绘制?还有人能解释一下为什么这两个调用工作方式不同吗?