Как добавить CCTexture2D в CCTextureCache cocos2d
У меня есть несколько зашифрованных изображений. Они довольно тяжелые, поэтому я хочу предварительно загрузить их, добавив их в CCTextureCache. Однако CCTextureCache не принимает CCTexture2D в качестве параметра. Что я могу сделать?
CCTexture2D *img = [[[CCTexture2D alloc] initWithImage:[UIImage imageWithContentsOfEncryptedFile:path]] autorelease];
[[CCTextureCache sharedTextureCache] addImage:img]; // not accepted!!
1 ответ
Решение
Два варианта:
- добавить метод для кэширования объектов CCTexture2D* ключом (уникальная строка)
- сохраните UIImage на диск (в каталоге поддержки приложений), затем загрузите его как обычно с cocos2d
Последний вариант вызовет заметную задержку из-за процесса сохранения и загрузки. Я бы порекомендовал первый подход. Большая часть кода, необходимого для написания этой функции, уже находится в CCTextureCache, я полагаю, что даже может быть только тот метод, который вам нужен, который нужно только сделать общедоступным в интерфейсе.