假设我有一个Actor
具有draw方法的对象:
@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();
}
如您所见,actor还在其自身下方绘制了一条红线。现在,当我在演员所在的舞台上缩放相机时,他会变大-它可以工作,但他的红色矩形却不起作用。
当我debug()
在上进行设置时Actor
,它会显示调试行并对其进行缩放。
我正在努力实现什么?
我也需要沿着演员缩放线条。
如果有人知道如何实现这一目标,我将不胜感激;)
Shaperenderer与批处理类似。它具有自己的坐标矩阵。因此,您还需要在shaperenderer上设置投影矩阵。
shaperenderer.setProjectionMatrix(camera.combined);
它可能会为您工作。
但是,在通过顶点绘制shaperenderer时,即使放大/缩小,线的宽度也可能不会改变。
您可以使用openGL功能更改线宽。
Gdx.gl.glLineWidth(width);
另外,我建议不要使用Shaperenderer,因为它的类相当昂贵,仅建议用于调试绘图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句