Управление большими изображениями в игре - PullRequest
1 голос
/ 13 октября 2011

Я разрабатываю шутер с боковой прокруткой, и в качестве фона у меня есть набор изображений (около 15 изображений в формате 1024x1024 в png). и со спрайтами врагов и выстрелами у меня начинаются проблемы с памятью.

Я пытался использовать текстуру PVRTC, но изображение не такое блестящее, как должно быть.

Должен ли я загрузить текстуру на ходу? Какова ваша стратегия в управлении текстурой?

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 14 октября 2011

"Я пытался использовать текстуру PVRTC, но изображение не такое блестящее, как должно быть."

Из любопытства, какой инструмент сжатия вы использовалииспользовать?IMG PVRTextool иногда лучше, чем те, которые поставляются в комплекте с некоторыми пакетами разработчика, и, я полагаю, более новая версия (с полностью переписанным кодом компрессора) должна быть доступна в недалеком будущем.

0 голосов
/ 13 октября 2011

+ 1 к комментарию Аймарика.В cocos2d есть хорошее решение для асинхронной загрузки текстур: https://github.com/cocos2d/cocos2d-iphone/blob/develop/cocos2d/CCTextureCache.m:

-(void) addImageAsync: (NSString*)path target:(id)target selector:(SEL)selector

Таким образом, вы сохраняете в памяти свои игровые текстуры экрана и левый / правый экраны.Во время прокрутки (например, в правом направлении) вы выгружаете невидимую левую текстуру, устанавливаете текущую текстуру экрана как левую, правую текстуру как текущий экран и асинхронно загружаете новую текстуру справа.

Но я бы предпочел плиточный фон, есливозможно художественным дизайном.

...