我正在为 iPhone 制作一个简单的 2D 游戏。它基于《紧急迫降》。所以它基本上是一个背景纹理和一些移动的矩形纹理。
我有一个奇怪的小图形问题:一些小的二维项目(可以假设只是矩形)四处移动,在它们上面有一个闪烁的小黑条(背景纹理几乎完全是白色的,所以小条很明显) .
我使用的纹理是小 (~1Kb) png。
还有其他人遇到过这种情况吗?这是一个常见的 openGL 问题吗?
顺便说一句,这会发生在模拟器和实际设备上。
最佳答案
你的纹理中有类似小黑条的东西吗?
当我做错事时,我也遇到过类似的问题。这是一个小 list :
- 您是否对纹理进行了 mipmap,并检查它有哪些参数。
- glTex 参数。 (WRAP_S、WRAP_T、MAG_FILTER、MIN_FILTER...)
- 纹理的尺寸。 (如果允许使用非二幂纹理,则可能会导致图形故障,具体取决于您加载纹理的方式)
- 您要在矩形顶部绘制闪烁条吗?
- 纹理中是否存在导致黑条的原因。
- 动画帧的对齐方式。
- 混合和 Alpha 混合。
如果列表中的某些内容对您来说不清楚,那么阅读它们是很好的练习。
我也做了一个很好的猜测:我相信您没有在任何方向上包裹纹理,并且动画帧有点未对齐,因此您的应用程序在您所在的四边形中的纹理坐标/高度有点错误绘图。
我希望我的建议有意义。我只使用过普通的 opengl,没有使用过 OpenGL ES,它的图形管道已被修剪,使其更紧凑、更干净、更优雅。
关于iphone - iPhone 应用程序中奇怪的 OpenGL ES 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/189981/