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 пиксель выше моего текущего кадра

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

Что бы это могло быть?

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


person Michael Wildermuth    schedule 10.02.2014    source источник
comment
Как вы создаете спрайтовые кадры/атлас текстур? Большинство инструментов по умолчанию используют расстояние в 2 пикселя между любыми двумя изображениями, чтобы предотвратить именно эту проблему.   -  person LearnCocos2D    schedule 11.02.2014
comment
@LearnCocos2D Я жду, когда моя графическая команда обновит это для меня. Как только я узнаю, я вернусь и дам вам знать. В настоящее время они находятся в отпуске.   -  person Michael Wildermuth    schedule 15.02.2014
comment
@LearnCocos2D Пожалуйста, добавьте свой комментарий в качестве решения, чтобы я мог его принять. Спасибо.   -  person Michael Wildermuth    schedule 26.02.2014


Ответы (1)


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

person LearnCocos2D    schedule 25.02.2014