2012-08-02 3 views
1

Я использую Cocos2D. Каков наиболее эффективный способ разбиения изображения, когда он является частью атласа текстуры, который был сгенерирован с помощью Packaging Packer. У меня есть изображение размером 10 x 320, и я хочу, чтобы он набил его, чтобы заполнить экран.Плитка изображения, которое является частью атласа текстуры

Я использовал этот код, прежде чем для облицовочных изображений

bgHolder = [CCSprite spriteWithFile:@"bg.png" rect:CGRectMake(0, 0, 700, 300*155)]; 
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT}; 
[bgHolder.texture setTexParameters:&params]; 
[self addChild:bgHolder]; 

, но я не думаю, что я могу использовать этот подход, когда изображение, которое я хочу, чтобы плитка не квадратное, а это лишь малая часть поверх текстуры.

Цепочка кучу CCSprites кажется мне неэффективной, поэтому я надеюсь, что есть лучший способ.

ответ

1

Используйте один спрайт на плитку. Это способ сделать это. Вы должны использовать рассылку спрайтов, чтобы количество обратных вызовов было равно 1. Оказание 48 спрайтов не намного хуже, чем рендеринг одного спрайта 480x320 при использовании спрайтов.

+0

Я так рассчитывал, просто надеялся каким-то образом использовать GL_REPEAT или что-то в этом роде. При перемещении и масштабировании черепичных спрайтов я получаю полосу между ними. Думаю, мне просто нужно будет поиграть с отключением ализинга и усечением позиций spites и тому подобного. Приветствия для ответа. – Tiddly

Смежные вопросы