1
我对libGDX上的PolygonSpriteBatch有两个问题。PolygonSpriteBatch问题
1)我尝试渲染一个简单的多边形(在这种情况下是一个矩形),我只看到一个三角形绘制时。
图片: http://i.snag.gy/kHV3N.jpg
texture=new TextureRegion(new Texture("texture.png"));
texture.getTexture().setWrap(Texture.TextureWrap.Repeat, Texture.TextureWrap.Repeat);
polygonRegion=new PolygonRegion(texture,createVertices(),createIndices(createVertices()));
,我要绘制多边形是这样的一个
private float[] createVertices() {
float[] verts = new float[5 * 2];
int i = 0;
verts[i++] = 2;
verts[i++] = 2;
verts[i++] = 2;
verts[i++] = 3;
verts[i++] = 3;
verts[i++] = 3;
verts[i++] = 3;
verts[i++] = 2;
verts[i++] = verts[0];
verts[i++] = verts[1];
return verts;
}
private short[] createIndices(float[] vertices){
short[] indices=new short[vertices.length/2];
for(short i=0; i<vertices.length/2; i++){
indices[i]=i;
}
return indices;
}
当我画它
shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.polygon(createVertices());
shapeRenderer.end();
polygonSpriteBatch.setProjectionMatrix(camera.combined);
polygonSpriteBatch.begin();
polygonSpriteBatch.draw(polygonRegion, 0, 0);
polygonSpriteBatch.end();
我还提请平原质地,看看它的样子
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(texture, 4f, 2.4f, 1f, 1f);
batch.end();
正如你所看到的,多边形绘制正确与shaperenderer,但与polygonspritebatch没有得到很好的质感。
第二个问题: 而不是上述问题,polygonspritebatch在使用普通相机尺寸(如800x480)时效果很好。 当我使用8 x 4.8的相机(适用于box2d世界)时,纹理会放大很多。
任何解决方案?
我已经改变了绘制它们的方式。谢谢。 MERSI。 – 2014-09-13 17:50:48