我正在尝试为我的iPhone应用设置平铺/重复背景。
代码“有效”,因为背景重复应该是这样,但我似乎每次重复都有一个黑色边框,我不知道为什么,图像正好是200x200。以下是与代码一起查看的截图:
if ((self=[super init])) {
CCSprite * bg = [CCSprite spriteWithFile:@"pattern11.jpg" rect:CGRectMake(0, 0, 1000, 520)];
[bg setPosition:ccp(0, 0)];
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
[bg.texture setTexParameters:¶ms];
[self addChild:bg z:0];
}
答案 0 :(得分:4)
纹理应始终具有2的幂...如16,32,64,128,256,512,1024。
尝试将图像尺寸调整为256x256或128x128。
答案 1 :(得分:0)
我也遇到了这个相当普遍的问题,因为我无法在Cocos2d-iPhone中平铺任意大小的纹理,因此我将一个简单的TiledSprite类放在一起,将纹理或子纹理平铺/剪裁到任何宽度/高度。
在这里直接跳转到源代码(随意使用):
https://gist.github.com/Nolithius/6694990
或者在这篇简短的文章中查看用法示例,屏幕截图和评论:
http://www.nolithius.com/game-development/cocos2d-iphone-repeating-sprite
祝你好运!