LibGDX:如何绘制透明多边形?

时间:2014-11-29 20:53:44

标签: java android libgdx

我目前正在使用ShapeRenderer来绘制多边形。

代码:

shapeRenderer.begin(ShapeType.Line);
shapeRenderer.setColor(255 / 255.0f, 109 / 255.0f, 120 / 255.0f, 0.0f);

Gdx.gl.glEnable(GL20.GL_BLEND);
//drawing a sample rectangle to test transparency(it worked)
shapeRenderer.rect(getRect().x, getRect().y,
                    getRect().width, getRect().height);
//drawing polygon
shapeRenderer.polygon(getPoly().getTransformedVertices());
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl.glDisable(GL20.GL_BLEND);

shapeRenderer.end();

我将矩形视为透明矩形,但多边形仍然是不透明的。

如何正确执行此操作?
或者这甚至可能吗?

1 个答案:

答案 0 :(得分:4)

shapeRenderer.end()电话之前,实际的“绘图”可能不会发生。尝试移动它:

//drawing polygon
shapeRenderer.polygon(getPoly().getTransformedVertices());
shapeRenderer.end();

Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl.glDisable(GL20.GL_BLEND);