Libgdx - 如何缩放矩形/直线(shaperenderer)

时间:2016-08-09 11:06:11

标签: libgdx border shapes

我们说我有一个library(magrittr) # We'll use join to avoid suffixes '_x' & '_y' join(df1,df2,(df1$col1==df2$col1)&(df1$col2==df2$col2)) %>% select(df1$col1,df1$col2,df2$newcol) %>% showDF() #+----+----+------+ #|col1|col2|newcol| #+----+----+------+ #| 1|11.0| 401| #| 2|22.0| 402| #| 3|33.0| 403| #| 4|55.0| 404| #+----+----+------+ ,它有一个绘制方法:

Actor

正如你所看到的,演员也在自己下面画了一条红线。 现在,当我在一个舞台上放大相机时,演员在哪里,他变得更大 - 它的作品但是他的红色矩形没有。

当我在@Override public void draw(Batch batch, float parentAlpha) { super.draw(batch,parentAlpha); sr.begin(ShapeRenderer.ShapeType.Line); sr.setColor(Color.RED); sr.rectLine(getX(),getY(),getX() + getWidth(),getY(),3); sr.end(); } 上设置debug()时,会显示调试行,会缩放它们

我想要实现的目标?

我也需要沿演员缩放线条。

如果有人知道如何实现这一点,我将不胜感激;)

1 个答案:

答案 0 :(得分:0)

Shaperenderer与批次相似。它有自己的坐标矩阵。 所以你需要在shaperenderer上设置投影矩阵。

shaperenderer.setProjectionMatrix(camera.combined);

它可能适合你。

但是,虽然shaperenderer通过顶点,线条绘制'即使放大/缩小,宽度也不会改变。

您可以使用openGL功能更改线宽。

Gdx.gl.glLineWidth(width);

另外我建议不要使用Shaperenderer,因为它非常昂贵的类,只推荐用于调试图纸。