Libgdx&;Box2Lights-can';不要去掉黑色背景

Libgdx&;Box2Lights-can';不要去掉黑色背景,libgdx,box2d,light,Libgdx,Box2d,Light,让我们获取一些代码: 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); rayHan

让我们获取一些代码:

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正在应用黑色背景,我不知道我是否做错了什么,或者我就是无法将Box2Lights与背景色组合。我应该使用具有所需颜色的背景纹理并将其设置为背景,还是有解决方案?

更改两个调用的顺序,
glClearColor
glClear
,如下所示:

Gdx.gl.glClearColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, 1f); // White
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

在您的代码中,在设置颜色之前会清除屏幕…

更改两个调用的顺序,
glClearColor
glClear
,如下所示:

Gdx.gl.glClearColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, 1f); // White
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

在您的代码中,在设置颜色之前屏幕会被清除…

您的意思是当您启动应用程序时,整个屏幕是黑色的吗?这就是问题所在吗?你的意思是当你启动应用程序时,整个屏幕都是黑色的吗?这就是问题所在吗?