开发者

Repeating background in cocos2d has black edges!

I am attempting to setup a tiled/repeating background for my iPhone app.

The code "works" in that the background is repeating like it should be but I seem to have a black border around each repetition and I dont know why, the image is exactly 200x200. Here is a screenshot of how it looks along with the code:

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:&params];
    [self add开发者_StackOverflowChild:bg z:0];
}

Repeating background in cocos2d has black edges!


Textures should always be in power of two... like 16,32,64,128,256,512,1024.

Try resizing the image to 256x256 or 128x128.


I've also ran across this rather common problem with not being able to tile arbitrarily-sized textures in Cocos2d-iPhone, so I put together a simple TiledSprite class to tile/clip a texture or subtexture to any width/height.

Jump right to the source code here (use at will):

https://gist.github.com/Nolithius/6694990

Or have a look at a usage sample, screenshot, and commentary in this brief article:

http://www.nolithius.com/game-development/cocos2d-iphone-repeating-sprite

Best of luck!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜