我在做一个简单的2D游戏。这是基于CrashLanding.所以这基本上是一个背景纹理和一些长方形的纹理行动。

我有这个奇怪的小图形问题:一些小2d项目(可以假定只是长方形)移动得到这个小闪光的黑色条在它们上面(背景的质地是几乎完全是白色的这样的小酒吧是显着).

纹理我使用的是小的(-1Kb)png图像。

有其他人碰到这个吗?这是一个常见载的问题?

顺便说一句这种情况发生在这两个模拟装置和实际设备。

有帮助吗?

解决方案

你有一个那样的小黑酒吧在你的纹理?

我遇到类似问题时,我必须做的事情是错误的。这里有一个小的检查清单:

  • 你有mipmapped你的纹理或不,检查什么样的参数没有。
  • glTexParameters.(WRAP_S,WRAP_T,MAG_FILTER,MIN_FILTER...)
  • 纹理的尺度。(如果有非动力的两纹理允许的,这可能导致形故障,这取决于你如何装载你的纹理)
  • 是你画那个闪烁的酒吧在你的矩形?
  • 是否有什么东西这是造成黑色条,在你的纹理。
  • 准的动画框架。
  • 混合的α-融合。

如果东西的列表是模糊的,它的良好运动读取关于他们。

我还要做一个良好的猜测:我相信你是不是环绕你的纹理在任何方向和动画框架是有点不对准,以便应用程序有一位是错误的纹理坐标/高中的四,你们的绘图。

我希望我的建议是有意义的。我只有的经验,与通常的照片,不载ES的图形的管道已被修剪,以使其更紧凑、更清洁和更优雅。

其他提示

由于这是2D游戏,这些小矩形精灵是否包含在同一纹理表中?另一个可能的罪魁祸首可能是纹理过滤。

如果您试图操纵纹理坐标来绘制纹理的子区域,则可以检查是否以大于1:1的比例绘制精灵。如果启用了线性纹理过滤(而不是最近),如果您尝试将精灵缩放到1:1之外,OpenGL可能会从相邻的精灵中抓取一些像素。

如果是这种情况,您可以尝试在精灵之间的纹理表中放置一个1像素的缓冲区。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top