Дублирование в AS3 @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 3 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
FanFan Муж.
соучастник
44
Сообщения: 973
Зарегистрирован: 24.04.06
Откуда: Омск
Заголовок сообщения: Дублирование в AS3
Сообщение Добавлено: 16 Февраль 2009, 15:40:21 
Итак, встал вопрос дублирования мувиков в АС3. Как известно, duplicateMovieClip в новой версии языка уже нет.

Очень много ссылок ведет к одному и тому же способу создания дубликатов(http://www.kirupa.com/forum/showthread.php?p=1939827), но у меня он не работает(просто ничего не происходит).

Может кто уже сталкивался с данной проблематикой. Поделитесь опытом, друзья))


Вложения:
duplicate.rar [9.73 КБ]
Скачиваний: 24

_________________
Портфолио
Martin Saulis Муж.
новый человек
8
Сообщения: 87
Зарегистрирован: 22.11.05
Откуда: Вильнюс. Литва
Сообщение Добавлено: 22 Февраль 2009, 05:08:58 
а кому тот duplicateMovieClip нужен, с возможностями AS3?

всё очень просто. желаемому MC через library properties ставишь какой нибудь Class для использования в AS - а в .as потом можешь делать просто так:

var myClip = new DeaultClip();
addChild(myClip);

такой принцип.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 22 Февраль 2009, 16:03:36 
Martin Saulis, в AS1 / AS2, суть команды duplicateMovieClip отличалась от attachMovie и createEmptyMovieClip.

С помощью createEmptyMovieClip можно было создать пустой клип. Аналог в AS3 - это new Sprite() или new MovieClip().

С помощью attachMovie можно было добавить клип с неким графическим содержанием. Аналог в AS3 - это new SomeLibrarySymbol().

С помощью duplicateMovieClip можно было клонировать существующий на сцене клип, при этом сохранить все трансформации примененные к исходному клипу (размер, позиция, вращение, цвет, прозрачность и т д).
Прямого аналога данной команды в AS3 нет. Я не уверен, что в условиях новой модели отображения графического содержания, это команда вообще нужна. Но для тех, кто с трудом осваивал FP9 AS3, senocular написал много полезных классов.

FanFan, я не могу открыть ваш исходник, видимо он сделан в F10, но у меня нет его. Я попробую здесь расписать пример.

1) Нарисуйте что-нибудь.
2) Создайте из этой графики символ. При этом задайте, в Linkage properties, имя класс Clip, базовый класс остается MovieClip …
3) Присвойте экземпляру этого клипа, который остался лежать на таймлайне, имя clip. Повращайте клип, порастягивайте, поменяйте ему прозрачность, цвет, примените фильтры …
4) Добавьте следующий код в первый кадр таймлайна:

Код:
   var clipDuplicate:Clip = duplicateDisplayObject(clip, true) as Clip;
      clipDuplicate.x += 150;
   
   function duplicateDisplayObject(target:DisplayObject, autoAdd:Boolean = false):DisplayObject
   {
        var targetClass:Class = Object(target).constructor;
        var duplicate:DisplayObject = new targetClass();

        duplicate.transform = target.transform;
        duplicate.filters = target.filters;
        duplicate.cacheAsBitmap = target.cacheAsBitmap;
        duplicate.opaqueBackground = target.opaqueBackground;
      
        if(target.scale9Grid)
      {
            var rect:Rectangle = target.scale9Grid;
            duplicate.scale9Grid = rect;
        }

        if(autoAdd && target.parent) target.parent.addChild(duplicate);
        return duplicate;
    }
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 3 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100