当我将颜色更改为蓝色时 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);
关于Java:为什么我不能使用 LibGdx 正确渲染颜色 (RGBA)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828724/