好的,我有这个代码
@Override
public void render() {
// do not update game world when paused
if (!paused) {
// Update game world by the time that has passed
// since last render frame
worldController.update(Gdx.graphics.getDeltaTime());
}
// Sets the clear screen color to: Cornflower Blue
Gdx.gl.glClearColor(0x64/255.0f, 0x95/255.0f, 0xed/255.0f,
0xff/255.0f);
// Clears the screen
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
// Render game world to screen
worldRenderer.render();
}
它会在屏幕上绘制浅蓝色背景。我正在尝试创建一个渐变,从顶部的深蓝色到底部的浅蓝色。有没有一种简单的方法可以做到这一点?我是 Libgdx 和 OpenGL 的新手,所以我想从一本书中学习,但我似乎找不到这个问题的答案。我听说过绘制一个大正方形并让顶点具有不同的颜色,但我不确定如何做到这一点。
最佳答案
在 libGDX 中,ShapeRenderer 对象包含一个 drawRect()
方法,该方法接受其位置和大小以及四种颜色的参数。这些颜色将转换为 4 角渐变。如果您想要垂直渐变,只需将顶角设为一种颜色,将底角设为另一种颜色。像这样的:
shapeRenderer.filledRect(x, y, width, height, lightBlue, lightBlue, darkBlue, darkBlue);
来自 ShapeRenderer 的 API:
The 4 color parameters specify the color for the bottom left, bottom right, top right and top left corner of the rectangle, allowing you to create gradients.
关于java - 在 Libgdx 中绘制渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20889316/