Как повторить спрайт по горизонтали?
У меня есть код для повторения 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];
Однако я не знаю, как изменить параметры, чтобы фон повторялся вдоль горизонтальной оси.2 ответа:
Для этого нет параметра. Просто убедитесь, что CGRect охватывает область, где вы хотите, чтобы текстура повторялась, и сама текстура должна быть в степени два (то есть 1024x1024).
Я предполагаю, что, возможно, вы используете текстуру 1024x768, и тогда вы увидите разрыв между текстурными повторами.
Это не может быть достигнуто на уровне GL, так как GL_REPEAT ожидает текстуры с силой двух измерений.
Взгляните на мой класс TiledSprite для довольно неоптимизированного, но функционального средства произвольного повторения текстуры или подтекстуры произвольного размера:
Https://gist.github.com/Nolithius/6694990
Вот краткий обзор его результатов и использования:
Http://www.nolithius.com/game-development/cocos2d-iphone-repeating-sprite