Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Массовое копирование объектов (http://www.flasher.ru/forum/showthread.php?t=81279)

IgorQ 15.06.2006 23:46

Массовое копирование объектов
 
Есть флешка, в главной сцене вставлен мувиклип, в нём множество объектов, мувиклипы, графические объекты, движения, и нужно в главной сцене сделать несколько таких мувиклипов, но в каждом изменить маленькие детали.
Если копирую просто мувиклип, то при смене деталей они изменяется во всех, а не только в том, в котором мне нужно.
Пожалуйста, подскажите, можно как-то простым способом размножить один мувиклип с множеством внутренних объектов ( чтобы и объекты копировались вместе с мувиком ) ?

PSoWP 16.06.2006 00:07

Тебе надо чтоб менялись во время проигрывания свфки или с самого начала?
Если первый вариант создай в библиотеке мувиклип в пропертисах поставь галочку экспорт фор ас и используй функцию attachMovie()
и давай им разные инстансы.
Если второй то надо в библиотеке написать дубликейт мувиклип и у тебя будут разные клипы и там уже можешь что угодно менять. Ещё можно создать мувик в котором всё не изменяемое и несколько мувиков с изменениями. Или создать несколько кадров и опять же этачить.

Usnul 16.06.2006 01:11

Хммм... если ты хочешь чтобы они были разными - тебе придется создавать разные клипы, я бы посоветовал максимум схожих элементов вынести в отдельные клипы дабы уменьшить размер финальной вещи.

IgorQ 16.06.2006 23:51

У меня есть мувиклип ( имеется ввиду не swf файл вынесенный, а просто созданный объект во флеше ), в него включено несколько других мувиклипов таких же объектов, несколько графических объектов, тексты и т.п. В итоге есть вот этот большой мувиклип с множеством внутренних объектов. Можно ли как-то его скопировать так, чтобы каждый внутренний объект так же был скопирован? В итоге должно появиться два главных мувиклипа, и две копии всех внутренностей.

PSoWP 17.06.2006 01:47

В библиотеке правая кнопка на мувик там dyblicate Movie Clip и у тебя два мувиклипа)

IgorQ 17.06.2006 02:36

Да, мувика то два, но внутренности используются одинаковые. Если одну внутренность изменяю, она изменяется во всех мувиках, а этого делать нельзя :) Нужно чтобы и внутренности копировались вместе с основным мувиком, делались копии.

iNils 17.06.2006 02:39

Цитата:

Сообщение от IgorQ
Да, мувика то два, но внутренности используются одинаковые. Если одну внутренность изменяю, она изменяется во всех мувиках, а этого делать нельзя :) Нужно чтобы и внутренности копировались вместе с основным мувиком, делались копии.

Сделай дубликат внутренности.

SINtez_v 17.06.2006 04:01

А если их там около 50сяти ?

iNils 17.06.2006 04:05

Цитата:

Сообщение от SINtez_v
А если их там около 50сяти ?

Надо думать зарание и использовать JSFL

Kyber Anton 17.06.2006 04:49

Цитата:

Сообщение от SINtez_v
А если их там около 50сяти ?

Ну сделай ты как PSoWP сказал, криво, но раз уж вначале не подумал!

SINtez_v 17.06.2006 04:56

Цитата:

Сообщение от Kyber Anton
Ну сделай ты как PSoWP сказал, криво, но раз уж вначале не подумал!

Да это я вкурсе дела....
Просто представил парня постящего топ и подумал что делать то ему щас если у него надо делать копию мувика в котором ещё допустим по 20 на каждый щас надо жать дубликат больше никак ?

PSoWP 17.06.2006 11:58

Можешь на изменяемых клипах создать 2 кадр этачить основной клип два раза и в нужных местах писать _root....gotoAndStop(2)
Тогда их со сцены удали

SINtez_v 18.06.2006 02:04

Бред...
Вопрос или можно сразу со вложениями дублировать или нет ?

PSoWP 18.06.2006 02:23

Нет
Но тот вариант не бред он норм я сам на нем пару раз выезжал, когда не задумывался о реализации до создания а додумывал вовремя)

Nirth 18.06.2006 02:33

Не совсем в тему, но для копирования объектов ( не визуальных ) можно юзать класс mx.utils.ObjectCopy
пример
Код:

import mx.utils.ObjectCopy;
var obj1:Object = new Object();
        obj1.var1 = 2;
        obj1.var2 = new Object();
       
var obj2:Object = ObjectCopy.copy(obj1);
        obj2.var2 = function () { trace("a"); }
trace(obj1.var2);
trace(obj2.var2);



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

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