java - AndEngine - 滚动 map 时的 Artifact (TextureOptions 相关)

标签 java android opengl-es andengine

我正在使用 AndEngine 开发 2D Side Scroll Android 游戏。

我的瓷砖质量有问题。

如果我使用默认纹理选项,对于我的纹理康盖瓷砖,它看起来不完美,轮廓不平滑等:

enter image description here

默认纹理选项,使用此类 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)

图形看起来很流畅(我想说完美,请查看下面的图片)

enter image description here

一切都会很完美,但是当移动相机时(相机正在追逐玩家),这些 Sprite 的轮廓可见,例如在这个屏幕上:

enter image description here

我一直在尝试使用不同的 OPEN GL 参数,但没有成功。如果您能提供一些帮助,我将不胜感激。使用DEFAULT纹理选项,这样的问题不存在,但质量很差。谢谢。

Ps:我一直在尝试在相机内的 setCenter 方法上转换整数,但没有运气,有些人说它应该有帮助,但没有。

最佳答案

出现这种情况是因为用于平滑纹理的函数使用了纹理图集上图片之外的像素。默认情况下,它们是黑色的,因此边缘上的像素会受到外部黑色区域的污染。

我通过将图片的所有边延伸 1 像素并放置图片中相邻 1 像素线的副本来临时解决了该问题。然后我将纹理区域设置为仅包含图片的中间,填充位于外部。结果可能并不完美,但线条不再明显。

我在AndEngine论坛上看到有人说最新版本已经解决了这个问题,你可以尝试更新一下。

关于java - AndEngine - 滚动 map 时的 Artifact (TextureOptions 相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418021/

相关文章:

java:编译后无法运行程序?帮我

java - 使用 viewPager 滚动所有布局

java - Android OpenGL ES 1 - 多边形边缘

java - 如何识别结果来自哪个索引?

java - 为什么有些类在 Android 支持库中不公开?

android - 恢复时销毁 Activity 的最后执行

android - 由于找不到 View ID,项目外部的文件导致构建失败

java - 为什么这不能形成一个好看的正方形?

android - 有没有比在每个命令后调用 glGetError 更好的调试 OpenGL 的方法?

java - 我不希望将相等的 vector 添加在一起(或在没有时列出)