我正在使用 AndEngine 开发 2D Side Scroll Android 游戏。
我的瓷砖质量有问题。
如果我使用默认纹理选项,对于我的纹理康盖瓷砖,它看起来不完美,轮廓不平滑等:
默认纹理选项,使用此类 OPEN GL 参数:
new TextureOptions(GL10.GL_NEAREST, GL10.GL_NEAREST, GL10.GL_CLAMP_TO_EDGE, GL10.GL_CLAMP_TO_EDGE, GL10.GL_MODULATE, true);
但最近我意识到,如果我会使用这样的参数(类似于 BILINEAR 参数,除了最后一个)
new TextureOptions(GL10.GL_LINEAR, GL10.GL_LINEAR, GL10.GL_CLAMP_TO_EDGE, GL10.GL_CLAMP_TO_EDGE, GL10.GL_MODULATE, true)
图形看起来很流畅(我想说完美,请查看下面的图片)
一切都会很完美,但是当移动相机时(相机正在追逐玩家),这些 Sprite 的轮廓可见,例如在这个屏幕上:
我一直在尝试使用不同的 OPEN GL 参数,但没有成功。如果您能提供一些帮助,我将不胜感激。使用DEFAULT纹理选项,这样的问题不存在,但质量很差。谢谢。
Ps:我一直在尝试在相机内的 setCenter 方法上转换整数,但没有运气,有些人说它应该有帮助,但没有。
最佳答案
出现这种情况是因为用于平滑纹理的函数使用了纹理图集上图片之外的像素。默认情况下,它们是黑色的,因此边缘上的像素会受到外部黑色区域的污染。
我通过将图片的所有边延伸 1 像素并放置图片中相邻 1 像素线的副本来临时解决了该问题。然后我将纹理区域设置为仅包含图片的中间,填充位于外部。结果可能并不完美,但线条不再明显。
我在AndEngine论坛上看到有人说最新版本已经解决了这个问题,你可以尝试更新一下。
关于java - AndEngine - 滚动 map 时的 Artifact (TextureOptions 相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418021/