让我们得到一些代码:
public MyScreen implements Screen{
logo = new Texture(/**/); // loading some images
// initializing the RayHandler
rayHandler = new RayHandler(new World(new Vector2(0f,0f), false));
rayHandler.setShadows(false);
rayHandler.setCombinedMatrix(stage.getCamera().combined);
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearColor(Color.WHITE.r,Color.WHITE.g,Color.WHITE.b,1);
batch.begin();
batch.draw(logo,logo_pos.x, logo_pos.y, logo.getWidth(),logo.getHeight());
batch.end();
stage.act(delta);
stage.draw();
rayHandler.updateAndRender();
}当我以前使用LibGDX时,我使用了上面相同的代码,但是使用了背景纹理。当我消除阴影的时候一切都很好。
现在我不想使用纹理,而是单一的颜色(如上面所示的白色)。问题在这里,背景是黑色的,但是!我的徽标纹理可见。
不知怎么的,rayHandler正在应用黑色背景,我不知道我是否做错了什么,或者我只是不能将Box2dLights与背景色结合起来。我应该使用背景纹理与我想要的颜色,并将其设置为背景,还是有一个解决方案?
发布于 2016-07-24 17:05:18
更改两个调用的顺序,glClearColor和glClear,如下所示:
Gdx.gl.glClearColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, 1f); // White
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);在你的代码中,屏幕在设置颜色之前被清除.
https://stackoverflow.com/questions/38549835
复制相似问题