我的游戏中出现与渐变相关的纹理的条纹问题,我似乎找不到原因以及如何解决它。
这就是我在说的:左边是游戏中的渐变,而右边是在渐变生成器应用程序(Tint)中生成的渐变。我们可以清楚地看到条带问题。
要创建渐变,我使用此代码生成了一个Texture(纹理),该Texture用于创建可缩放以填充用户屏幕的Image。
Pixmap pix = new Pixmap(2, 2, Pixmap.Format.RGBA8888);
pix.setColor(colorSchemes[backgroundColorScheme.ordinal()].getTopColor());
pix.fillRectangle(0,0,2,1);
pix.setColor(colorSchemes[backgroundColorScheme.ordinal()].getBottomColor());
pix.fillRectangle(0,1,2,1);
Texture texture = new Texture(pix);
texture.setFilter(Texture.TextureFilter.Linear,
Texture.TextureFilter.Linear);
pix.dispose();
当我尝试在背景顶部添加fog-like演员以对其进行动画处理时,我也遇到了乐队问题。我缩放它们,更改它们的不透明度,然后四处移动,然后再次遇到条带问题,如下图所示。
我正在尝试复制本游戏中的背景效果 https://www.youtube.com/watch?v=_vBczzj3NAU
我的渲染屏幕渲染循环中有以下代码:
@Override
public void render (float delta) {
Gdx.gl.glClearColor(0,0,0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
}
关于如何解决这些问题的任何想法?任何帮助将不胜感激。
答案 0 :(得分:0)
将每个颜色通道的位数(我相信默认值为5位)增加到8位,解决了我的条带问题。
在AndroidLauncher.java
中AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.r = config.g = config.b = config.a = 8;
在DesktopLauncher.java中
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.r = config.g = config.b = config.a = 8;