Кэшируем MovieClip

govnoproger.ru > as3 > Кэшируем MovieClip

В флэше есть проблема — много объектов вызывают тормоза.
Проблема частично решается функцией cacheAsBitmap.

На сайте адоба есть немного информации по этому поводу.
http://help.adobe.com/ru_RU/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e35.html

Я довольно долгое время использую чужой класс. Я его естественно немного переписал.
Ниже показан результат теста.
Sorry, either Adobe flash is not installed or you do not have it enabled
500 квадратов около 8ми кадров.
Красная кнопка создаст чистые мувиклипы.
Зелёная создаст кэшированные.
Как видите разница даже заметна на глаз.

Недостатки кэша:
Нельзя ресайзить, растягивать ни флеху ни кэшированый клип.

Как я и говорил я использую готовый класс.
Вот пример кода, Mc — мувиклип в библиотеке.

var a:Animation;
var mcCache:AnimationCache;

mcCache=AnimationCache.getInstance();
mcCache.replaceExisting = false; // не заменяем существующие с 
mcCache.cacheAnimation("Mc", true); //кэшируем MovieClip Mc

a=mcCache.getAnimation("Mc"); // теперь у нас кэшированный мувик в переменной a
addChild(a) //добавляем его на сцену
a.play(); //мувик автоматически не проигрывается

Скачать архив с классами.

Рекомендую:

16.7.2011 | последняя редакция: 16.07.2011 |
  1. Сергей
    16.7.2011 в 18:49

    Хмм, интересно! На будущее нужно учесть

  2. admin
    16.7.2011 в 20:02

    Давай больше там небудем писать, итак комментариев много.
    То что ты спрашивал:

    Если ты пишешь в классах то на кадрах код вообще не пишется, я говорил это неоднократно! Ну иногда в мувиклипе стоп или плэй.

    Нужен фла и ас файлы. Тут слишком много может быть ошибок.

  3. Сергей
    16.7.2011 в 21:04

    По поводу не писать там — полностью согласен, у меня уже тормозит та страничка…
    Извини, я думал ты имел ввиду что код именно в кадрАХ не пишут (в смысле я подумал что пишут только в одном), окей, даже так, хорошо… Постепенно всё становится яснее 🙂 Сейчас я попробую тогда вообще всё по классам разложить и посмотрю останутся ли проблемы… Хотя скорее ещё парочку появится, эх 🙂