如何移除(切出)纹理中的透明矩形,使孔变为半透明。
在 Android 上,我会使用 Xfermodes 方法:
但在 libgdx 中,我将不得不使用 opengl。到目前为止,通过使用 glBlendFunc,我几乎实现了我想要的东西。
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
应该可以解决我的问题,但我试过了,它并没有像预期的那样工作:
batch.end();
batch.begin();
//Draw the background
super.draw(batch, x, y, width, height);
batch.setBlendFunction(GL20.GL_ZERO,
GL20.GL_ONE_MINUS_SRC_ALPHA);
//draw the mask
mask.draw(batch, x + innerButtonTable.getX(), y
+ innerButtonTable.getY(), innerButtonTable.getWidth(),
innerButtonTable.getHeight());
batch.end();
batch.setBlendFunction(GL20.GL_SRC_ALPHA,
GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.begin();
它只是使蒙版区域纯黑色,而我期待透明,任何想法。
这就是我得到的:
这是我所期望的: