2014-02-10 1 views
0

Я загрузка спрайтов листов ниже код:Cocos2d Sprite Sheet неправильно загружается для определенных фреймов?

[cache addSpriteFramesWithFile:[NSString stringWithUTF8String:plistPath] textureFilename:[NSString stringWithUTF8String:spritePath]]; 

Затем я установил свой текущий кадр из моей анимации с помощью:

[this->fSprite setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithUTF8String:fAnimFSM->GetCurrentImageSequence()->fImages[frame]]]]; 

Правильной рамка приходит вверх, но представляется, что нижний фрейм кадра непосредственно выше моего текущего кадра также визуализируется. Как вы можете видеть на изображении ниже, вы можете видеть, что выглядит как горизонтальная линия размером 1 пиксель над моим моим текущим фреймом анимации.

1 pixel line above my current frame

PLIST выглядит идеально подходит для меня, плюс у меня есть 5 + анимации в моем спрайт листа и только одна анимация страдает от этой проблемы.

Что это может быть?

Заранее спасибо.

+0

Как создать кадры спрайтов/текстурный атлас? Большинство инструментов по умолчанию на расстоянии 2 пикселя между любыми двумя изображениями, чтобы предотвратить эту точную проблему. – LearnCocos2D

+0

@ LearnCocos2D Я ожидаю от своей графической команды обновить это для меня. Как только я узнаю, я вернусь и дам вам знать. Они в настоящее время находятся в отпуске. –

+0

@ LearnCocos2D Пожалуйста, добавьте ваш комментарий как решение, поэтому я могу принять его. Благодарю. –

ответ

1

Оставьте 2-пиксельное пространство в вашем атласе текстуры вокруг каждого изображения. Такие инструменты, как TexturePacker, могут быть настроены (и по умолчанию) с использованием 2-пиксельной ширины. Без 2-пиксельных зазоров, как и выше, неизбежны.