如何水平重复精灵?

问题描述:

我已经得到了代码重复X轴和Y是:如何水平重复精灵?

bg = [CCSprite spriteWithFile:@"ipadbgpattern.png" rect:CGRectMake(0, 0, 3000, 3000)]; 
     bg.position = ccp(500,500); 
     ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT}; 
     [bg.texture setTexParameters:&params]; 
     [self addChild:bg]; 

不过,我不知道如何改变PARAMS为了使背景沿水平轴重复。

没有参数。只要确保CGRect跨越你想要纹理重复的区域,并且纹理本身必须是两个幂(即1024x1024)。

我在猜测,也许你使用的是1024x768的纹理,然后你会看到纹理重复之间的差距。

+0

噢耶对了,谢谢。我知道图像的大小(2的幂),但我的矩形不是正确的大小。完善。谢谢。 – 2012-08-06 14:43:56

由于GL_REPEAT需要具有二维幂次幂的纹理,因此无法在GL级别上实现。

看看我TiledSprite类的任意重复任意大小的纹理或subtexture相当未经优化,但功能是指:

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

这里是在它的结果和使用简单的介绍一下:

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