我目前正在使用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();
我将矩形视为透明矩形,但多边形仍然是不透明的。
如何正确执行此操作?
或者这甚至可能吗?
答案 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);