【发布时间】:2016-03-28 11:19:51
【问题描述】:
我正在尝试实现如下图(B)所示的效果。如果我在 Sprite Batch 上设置 alpha,我最终会得到 (C) 中所示的效果。谁能告诉我如何才能获得(B)中的预期效果。
请注意,我并不是要掩盖精灵。我正在尝试设置一个全局 alpha,它将影响设置全局 alpha 后绘制的所有精灵。一个使用示例是淡入或淡出的对话框。
【问题讨论】:
-
我知道的唯一方法是将它们全部以完全不透明的方式绘制到 FrameBuffer 中,然后以部分透明的方式将 FrameBuffer 的纹理绘制到屏幕上。
-
@Tenfour04: "以完全不透明的方式绘制它们" 为了确保我们在同一页面上,您仍然需要编写 阿尔法。您只是没有使用 alpha 进行 混合。
-
我的意思是你通常使用混合和 alpha 绘制它们,但不要在第一遍中通过使用降低 alpha 的顶点颜色来降低它们的不透明度。
-
你尝试过混合模式 Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl20.glBlendFuncSeparate(GL20.GL_SRC_ALPHA,GL20.GL_ONE_MINUS_SRC_ALPHA,GL20.GL_ONE,GL20.GL_ONE); ?
标签: opengl libgdx sprite alpha spritebatch