Многократноиспользуемые изображения и звуки

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Многократноиспользуемые изображения и звуки

Сообщение Agiliter » 19 ноя 2014, 08:34

Добрый день! Возникла задача многократного использования одинаковых изображений и звуков. И, соответственно, возник вопрос как организовать их загрузку так, чтобы потом использовать только их копии, а не грузить по-новой.

Копии изображений можно, как понимаю, делать с помощью clone() от одного BitmapData, а звуки - просто создавая новые SoundChannel от одного Sound. Таким образом, пришел к выводу, что нужно каким-то образом хранить список уже загруженных BitmapData и Sound. Что и составляет основной вопрос. Например, изображения. Пришло в голову создать отдельный класс ImageManager, в нем задать public static переменные
  1. public static image1:Bitmap;
  2. public static image2:Bitmap;
  3. ...
  4. public static image100:Bitmap;


метод
  1. public static createImage(objBitmap:Bitmap):Bitmap
  2. {
  3.     var clonedChild:BitmapData = objBitmap.bitmapData.clone();  
  4.     var copy:Bitmap = new Bitmap(clonedChild);
  5.     return copy;
  6. }

возвращает копию нужного изображения. Вызов осуществляется примерно так
  1. var image:Bitmap = ImageManager.createImage(ImageManager.image74);

Правда, не совсем понимаю, как организовать загрузку этой сотни статичных Bitmap.
Для звуков всё аналогично.

Может есть другой, лучший способ, чем предложенный мной?
С уважением,
М.Ф.
Agiliter

 
Автор темы
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46
Благодарил (а): 29 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Многократноиспользуемые изображения и звуки

Сообщение XELAD » 19 ноя 2014, 11:49

Можно вместо bmp хранить BitmapData, это займёт меньше памяти. Но функцию createImage нужно будет дополнить.
BitmapData можно хранить в Array ([bmpd1, bmpd2, ...]) и ссылаться на нужную индексом, к примеру ImageManager.createImage(74) , не прописывая public static vars.
Во всяком случае, эту схему я видел в пакете ru.antkarlov.animation.
XELAD

 
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25
Благодарил (а): 13 раз.
Поблагодарили: 24 раз.


Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron