【发布时间】:2016-12-21 17:06:50
【问题描述】:
我使用 for 循环创建了一堆矩形,然后将它们添加到数组列表中。我教过渲染将类似于从 box2d 渲染用户数据的方式。
sr.setProjectionMatrix(camera.combined);
sr.begin(ShapeRenderer.ShapeType.Filled);
for(Rectangle r : rectangles)
sr.rect(r.x, r.y, r.width, r.height);
sr.end();
问题是,在 fro 循环结束后,矩形不再被渲染,我知道这是因为您没有渲染实际的矩形,而只是使用 shapeRenderer 使用矩形的属性绘制形状.有没有一种类似于渲染精灵的方法?
【问题讨论】:
-
这与渲染精灵的方式完全一样。您必须在每次调用
render()时渲染它们,因为屏幕每帧都会重绘,就像 SpriteBatch 一样。 -
我知道,但在形状中你不会渲染实际的矩形,sr.rect(r.x, r.y, r.width, r.height)。在 sprite 中,您可以像这样渲染实际的 sprite:sprite.draw(batch)。您只需获取矩形的属性,以便 shapeRenderer 绘制形状。但不是实际的矩形形状。
标签: java libgdx shape-rendering