当我将颜色更改为蓝色Gdx.glClearColor(0,0,255,1)时,它应能正常工作。但是当我使用Gdx.glClearColor(51,204,255,1)时,颜色仍然是白色。我必须进行哪些更改才能使其正常工作?

@Override
public void render(float delta) {

    Gdx.gl.glClearColor(51,204,255,1); // this makes the screen white
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    camera.update();
    game.batch.setProjectionMatrix(camera.combined);

    game.batch.begin();
    game.batch.draw(game.hermine, 0, 0, (int)(game.hermine.getWidth() * 0.25), (int)(game.hermine.getHeight() * 0.25));
    game.batch.end();

    if (Gdx.input.isTouched()) {
        game.setScreen(new GameScreen(game));
        dispose();
    }
}

最佳答案

函数glClearColor()的范围是0-1。

因此,glClearColor(1, 1, 1, 1);是白色,而glClearColor(0, 0, 0, 1);是黑色。

glClearColor(0, 0, 255, 1);之所以有效,是因为它与glClearColor(0, 0, 1, 1);相同

glClearColor(51, 204, 255, 1);不起作用,因为它与glClearColor(1, 1, 1, 1);相同,并且为白色。

您必须在0到1的范围内工作,因此要获得预期的结果,您必须编写:Gdx.gl.glClearColor(0.2f, 0.8f, 1, 1);

10-08 02:49