我想在游戏本身上叠加一个精灵以使屏幕变暗,然后在其上叠加浅色精灵,所以就像深色精灵将是一个覆盖整个屏幕的黑色像素,然后是另一个在高级别为白色的精灵光,变暗时变暗,我如何才能正确地绘制和混合它们?
这是我到目前为止的渲染代码:
public void Render() {
// seting up camera position
//render game elements and background
....
batcher.setColor(1, 1, 1, .25f); // set alpha to .25f so it wouldnt be
//completely black
batcher.draw(Assets.shadow, 0, 0, 15, 8f); // drawing the shadow over
//the whole world (15 x 8)
batcher.draw(Assets.light, 4, 0, 8, 2.5f); //drawing the light sprite
....
//finishing rendering
}
我也尝试添加
batcher.setBlendFunction(GL20.GL_BLEND_SRC_ALPHA,
GL20.GL_BLEND_DST_ALPHA);
尝试在那里获得“乘法”效果,但这不起作用,我将它放在batcher.setcolor()
.
我还在角色和世界渲染之后放置了光渲染代码,这样它就会覆盖在角色上并影响它的颜色,(这就是我的想法......)
这是Assets.shadow
: http: //i.stack.imgur.com/kzXlI.png (字面意思是一个黑色像素.. idk,如果你们能看到它?)
assets.light
:http: //i.stack.imgur.com/mNANb.png
我放大了这些图片,并将纹理过滤器设置为线性以获得灯光效果。
如果需要其他任何东西,请告诉我并提供。
编辑:这是它在游戏中的样子:
在光明中:
在阴影中: