ios - Cocos2d 雪碧连续

标签 ios opengl-es cocos2d-iphone texturing

我正在尝试创建一个与游戏一起流动的背景。然而图像不是连续的。每个图像加载之间有一个空格。我希望图像继续循环。

这是创建 Sprite 的方法

CCSprite *sprite = [CCSprite spriteWithFile:@"Image.png" rect:CGRectMake(0, 0, 960, 640)];

ccTexParams tp = {GL_NEAREST, GL_NEAREST, GL_REPEAT, GL_REPEAT};

[sprite.texture setTexParameters:&tp];
sprite.anchorPoint = ccp(1.0f/8.0f, 0);
sprite.position = ccp(screenW/8, 0);

更新 Sprite 位置的方法。

- (void) setOffsetX:(float)offsetX {
if (_offsetX != offsetX) {
_offsetX = offsetX;
CGSize size = _sprite.textureRect.size;
_sprite.textureRect = CGRectMake(_offsetX, 0, size.width, size.height);
}
}

请帮忙

最佳答案

您的图像宽度需要是 2 的幂。即,如果您希望重复,宽度必须为 64、128、256、512 等

您看到的间隙是 OpenGL 向您的纹理填充空白空间以使其成为 2 的幂的位置。

关于ios - Cocos2d 雪碧连续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376593/

相关文章:

javascript - Wavefront 文件到 WebGL 数组的转换在某处出错

iphone - 错误 '*** Collection <__NSCFDictionary: 0x563560> was mutated while being enumerated.'

ios - 如何去除cocos2d运行游戏中的卡顿?

iphone - 汽车转弯并移动 Sprite

ios - 如何根据确认对话框防止SegmentedControl索引更改?

iphone - 使用加速计退出 View 时崩溃

ios - 如何在 Swift 中以编程方式创建 View Controller 及其控件?

ios - 如果 bar 值为 0.0,如何隐藏 markerView。在条形图中使用 iOS 图表

android - 为什么 List<Float>.toFloatArray 与填充 FloatArray 相比这么慢? (漏洞?)

ios - 如何在OpenGL ES 2.0中实现glOrthof