Как добавить 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, я полагаю, что даже может быть только тот метод, который вам нужен, который нужно только сделать общедоступным в интерфейсе.

Другие вопросы по тегам