如何水平重复精灵?
问题描述:
我已经得到了代码重复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:¶ms];
[self addChild:bg];
不过,我不知道如何改变PARAMS为了使背景沿水平轴重复。
答
没有参数。只要确保CGRect跨越你想要纹理重复的区域,并且纹理本身必须是两个幂(即1024x1024)。
我在猜测,也许你使用的是1024x768的纹理,然后你会看到纹理重复之间的差距。
答
由于GL_REPEAT需要具有二维幂次幂的纹理,因此无法在GL级别上实现。
看看我TiledSprite类的任意重复任意大小的纹理或subtexture相当未经优化,但功能是指:
https://gist.github.com/Nolithius/6694990
这里是在它的结果和使用简单的介绍一下:
http://www.nolithius.com/game-development/cocos2d-iphone-repeating-sprite
噢耶对了,谢谢。我知道图像的大小(2的幂),但我的矩形不是正确的大小。完善。谢谢。 – 2012-08-06 14:43:56