2012-09-10 10 views
2

我有典型的带有render()函数的Libgdx类。为什么使用Libgdx Gdx.gl10.glLineWidth(width);不会改变投影的本性

在渲染()函数我有ShapeRenderer批次:

Gdx.gl10.glLineWidth(width); 
renderer.begin(ShapeType.Line); 
renderer.setColor(25,0, 0, alpha); 
renderer.line(point_x1, point_y1, point_x2, point_y2); 
renderer.end(); 

在此函数中我也有:

 camera.update(); 
     renderer.setProjectionMatrix(camera.combined); 

和当投影电学性能的研究改变线点被适当地但线翻译宽度仍然相同

由于投影宽度和高度有什么方法可以改变线宽?

视为

回答

6

线宽以像素为单位给出,它不受任何投影转换的影响。因此,没有简单的方法可以使线宽取决于当前的投影变换,并且您不会绕过实际的二维几何(即旋转的矩形或类似的东西)来替换线条。

+0

感谢您的好答案。我的意思是你说的。所以也许你知道另一种方式来控制这条线的宽度来打开线条? – mynameismarcin

0

你没有指定你用什么相机类型,但如果它是一个OrthographicCamera你可以用zoom修改取决于相机的变焦倍数线宽:

例如,当你有一个1个像素宽度线,当不放大/缩小,您可以使用此:

OrthographicCamera camera = ... 
int lineWidth = 1; // pixels 

Gdx.gl10.glLineWidth(lineWidth/camera.zoom); 
相关问题