24. Полное копирование объекта

С помощью класса ByteArray, мы можем копировать полностью объекты. Под полным копированием имеется ввиду, что мы можем копировать так же «дочерние» объекты копируемого объекта, и так далее. Например если у нас есть массив с объектами и мы копируем его, то кроме самого массива скопируются и объекты.

Пример функции:

This content requires Adobe Flash Player.

Использование:

This content requires Adobe Flash Player.

Информация о классе не сохраняется, но мы можем воспользоватся кастингом:

This content requires Adobe Flash Player.

Данный метод хорошо подходит для чистых DTO/VO объектов.


7 Responses to 24. Полное копирование объекта

  1. Как раз то что нужно. уже все форумы исписал :)

  2. А как насчёт DisplayObject? Можно ли в такой же способ(или какой другой?) склонировать объект со сцены? К примеру, уже программно изменённый Shape?
    З.Ы.: Блог как то странно ведёт себя в Opera’е – когда пишешь коммент страница самовольно обновляется.

  3. Нет, клонировать display object-ы не получится.

  4. Доброго времени суток!
    Есть необходимость загруженное в Loader изображение размножить. Можно как то избежать повторной загрузки и воспользоваться уже загруженным изображением?

  5. Проще всего так (в случае изображений):

    var bitmap:Bitmap = (loader.content as Bitmap);
    var copy:Bitmap = new Bitmap(bitmap.bitmapData);
    super.addChild(copy);

    В случае же swf-ок, то:

    var bytes:ByteArray = loaderInfo.bytes;
    var loader:Loader = new Loader();
    loader.loadBytes(bytes);
    super.addChild(loader);

  6. Спасибо!

  7. >Проще всего так (в случае изображений):

    ПРОЩЕ ли? А по другому, например, с использованием runtime shared library разве никак?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>