Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как дублировать MovieClip ? (http://www.flasher.ru/forum/showthread.php?t=104638)

terbooter 29.11.2007 15:02

Ну например, обозвал я мувики смайликов в библиотеке как-то однообразно
(s1, s2...) и выставил галочку экспорт, автоматом в поле класс появляется класс с именем мувика.

Потом я хочу добавить мувик. Не вижу другого способа как писать длинный парсер вида:
Код:

function getSmile (SmileCode:String):*
{
    switch (SmileCode)
    {
        case "S1" :
            var newSmile:S1 = new S1();
            return newSmile;
            break;
        case "S2" :
            var newSmile:S2 = new S2();
            return newSmile;
            break;
        ...
    }
}

UP
Проблема в том, что строку не приввести к типу Class
UP2 Оказывается можно:
Код:

function duplicate (className:String):*
{
    Class(getDefinitionByName(className));
    var currentClass:Class = Class(getDefinitionByName(className));
    return new currentClass();
}
addChild(duplicate("S1"));


random13 01.10.2009 16:06

возникла проблема, прочитал топик но ответа не нашел,

есть swc, в нем лежат мувиклипы в которых лежат картинки, как мне эти мувики клонировать с содержимым?

Psycho Tiger 01.10.2009 19:15

Как вариант - писать рекурсивную функцию, которая будет клонировать всех детей, или рисовать в битмап дату, если функционал не важен.

random13 02.10.2009 13:22

еще вопрос возник, я просто что то туплю,

есть мувиклип внутри которого картинка, суть в том что нужно тупо отобразить эту картинку определенное количество раз, пытался все это дело клонировать, все ок, единственное но, на выходе 7 мегабайт прироста памяти, не очень приятно,

возможно ли как то фактически передать ссылки тем самым, есть одна сущность которая выводиться несколько раз?

PgeorgyV 02.10.2009 15:54

Насколько я знаю, экранный объект в данный момент времени может отображаться только в одном месте

switcher! 02.10.2009 17:09

экранный да, но если речь идет о картинке, то можно эту картинку (BitmapData) присвоить в свойство bitmapData нужному количеству экземпляров Bitmap (которые, в свою очередь, можно засунуть в Sprite (например), если нужно скалировать картинки, делать их кликабельными и т.д.)

Итого, имеем 1-ну картинку BitmapData
и
много Bitmap (экранных объектов), которые могут отображаться одновременно. И отображают одну и ту же картинку.

Однако, эта операция тоже память хорошо кушает. Хотя меньше, конечно, чем клонировать BitmapData для каждого Bitmap.


Часовой пояс GMT +4, время: 23:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.