PDA

Просмотр полной версии : Зачем нужен AttachMovie?


RFMitrio
31.10.2001, 17:03
Что-то я не очень понял по описанию, для чего он нужен? Ведь есть же duplicate? Или я чего не понимаю?
----
Спасибо! Исходник кидать не обязательно, лучше объяснить!

yurail
31.10.2001, 17:09
attachMovie PRISOEDINJAET movieClip iz library....
a ne dubliruet uzhe imeyushiisja...

RFMitrio
31.10.2001, 17:27
То есть, как я понимаю, это то же самое, что делать дупликейт мувиклипу, _visibility которого = false, и присвивать дубликатам true?

yurail
31.10.2001, 17:30
chto to takoe...
tolko...
ne bez tolko

john
31.10.2001, 17:31
в отличии от дублицирования, аттачить можно не зависимо есть ли в данном мувиклипе нужный символ или нет. Как следствие больше возможностей.
Создавать клип можно в любой ветке иерархии мувиклипов.

RFMitrio
31.10.2001, 18:02
2john: А это, как я понимаю, объем выходного файла уменьшает? И удобно - не надо вытаскивать мувики на сцену. А еще интересно: есть ли случай, когда аттачем можно сделать, а дупликейтом - нет ( ведь по идее в любую линейку мувиков можно добавить мувик для дупликейта )?

john
31.10.2001, 18:18
"что лучше дублицирование или аттачмент" относится к вопросу правильного и не правильного подходу к разработке.
аттачмент ИМХО правильный.
Лучше как можно сильнее разделять визульную работу (дизайн) и работу с кодом. В идеале нужно сначала произвести подготовку визуальных элементов, а при работе с кодом вообще к ним не обращаться. Работать уже в программерской среде. Дублицирование же толкает к тому что нужно постоянно "залезать" во флэш ставить нужные клипы в нужное место и так далее.

Что нельзя сделать дубликейтом а можно аттачментом?
Ну намример можно создавать структуры вложений клипов которы невозможно сделать дубликейтом.

Например нужно создать просто мувик А. Мувик А с Вложеным Мувиком А и Б, который в свою очередь содержит А.

Вообще есть метсто и аттачменту и дубликейту, дубликейт иногда удобнее потому что копирует свойства предка.

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

Fisher
31.10.2001, 18:23
В принципе чтото общее есть. Но много и отличий. Если ставить вопрос по детски - кто сильнее слон или медведь то отвечу - атач! Отвечу оч сумбурно - самое главное на мой взгляд. В объеме ты не выигрываеш ничего но...Вопервых выкладывая мув на сцену и выключая видимость, или пряча вне зоны видимости ты все равно грузиш плэер в моменты в которые можно былобы этого и избежать. Сцена не загромождаеться - работать свободнее. При загрузке из инета расшареные мувы из библиотеки грузяться в первую очередь - можно вообже не думать о проверке в прелодере.
А вот по скорости работы не проверял, но думаю вот здесь атач может и проиграть. Если это кому нибудь интересно :)

RFMitrio
31.10.2001, 21:52
2john: Точно точно! А я что-то сглючил, что рекурсивный дупликейт возможен:)

RRR
01.11.2001, 11:15
Я прим. так им пользуюсь (может и коряво...): в двухязыковом ролике - выбор языка -> переменная -> подтаскивание нужной кнопки; или для аним. сцены подвешиваю разные движки.

Pavlo Gitin
01.11.2001, 21:28
Разные идеология у дупля и аттача. Аттач может местами заменить дупликейт, местами лоад муви, причем с решающим преимуществом. Попробуй загрузить залоудить что-нибудь внутрь клипа и потом раздублить его. Подгруженного не увидишь, раздупляется старая версия. А теперь зааттачь клип из разшаренной библиотеки... При дуплении все как по маслу.
Смотри топик
http://www.flasher.ru/forum/showthread.php?threadid=21865

nagash
02.11.2001, 02:34
а вот у меня такой вопрос...
м...
на счёт атач мувие... если его можно приартачивать из либрари то как его оттуда вызывать... м... ведь ко всем мувикам обращаешься по имени которое ты ему задаёшь... при дублировании или при выкладывании на сцену... а тут... или я что то не так понял? :)

RFMitrio
02.11.2001, 10:34
Кликаешь на мувике в библиотеке правой кнопкой, выбираешь linkage->export this symbol и задаешь имя.

nagash
02.11.2001, 12:24
итак получается! что я могу все символы в своём мувике вот так обозвать и потом просто скриптом их вызвать скажем в первом кадре...!
хм... так это же супер... :) :rolleyes: :rolleyes: :rolleyes:

Fisher
02.11.2001, 12:40
Даешь свет знаний в массы!!! :D

nagash
02.11.2001, 12:44
м... а вот такой вопрос...
атач мувие можно делать только если на сцене уже лежит какой нить мувик... и только к нему можно приартачить? правильно я понмаю? а допустим сразу на рут нельзя?

nagash
02.11.2001, 12:53
обрадовался... и пошёл применять новообретённое знание...
но знание то неработает... :) научите чтобы работало!
я пишу

qa.attachMovie(ss, s2, 1);
s2._x = 100;
s2._y = 100;
stop ();

мувик в библиотеке я добросовестно назвал ss так что м...
моя непонимать... :(

RRR
02.11.2001, 13:01
Единственный минус - если надо почистить библиотеку, автоматика такие объекты, которые только для приаттачивания, признает как унусед.

Pavlo Gitin
02.11.2001, 13:32
А кто пути будет прописывать?

qa.attachMovie(ss, s2, 1);
qa.s2._x = 100;
qa.s2._y = 100;
stop ();

nagash
02.11.2001, 13:51
с путями я пробовал... они оказались ни при чём... :)
всё оказалось проще... :)
qa.attachMovie("ss", "s2", 1);
qa.s2._x = 100;
qa.s2._y = 100;
stop ();
КАВЫЧЕК НЕБЫЛО! :)
мда...

2 РРР - у тебя в примере мувик появляется а управлять им нельзя... там кавычек тоже нехватает... :)
еххх блин :)

Fisher
02.11.2001, 14:26
Дак без кавычек тоже мона... :rolleyes:
Тока предварительно переменным значения присвой :p

nagash
02.11.2001, 14:29
дык без кавычек то и не идёт процесс!
вот поставил кавычки и всё супер... всё со сцены поубирал в баню... :)
ой... что же я наделал? им же там жарко!!! мда... :p

Fisher
02.11.2001, 15:09
Дык! Я ж говорю - без кавычек ss и s2 это переменные.
Такой синтаксис тоже имеет место быть. Только нужно им предварительно значения присвоить.

nagash
02.11.2001, 15:48
м... непонял...
значит если у меня переменная
ss = b2
s2 = f5
то в итоге получится что будет вызываться мувик "b2" и назовётся "f5"
так?
хех супер :)

RRR
02.11.2001, 15:56
;)

Fisher
02.11.2001, 16:03
Даа... тяжело в ученье - легко в бою. Припадем к истокам :D ss = "b2 "
s2 = "f5 "
и будет так как ты сказал :)
Хотя... можно и :D :D :D
ss = b2
s2 = f5
Но опять же предварительно :D
b2 = "b2 "
s2 = "f5 "
Ты путаешь имя переменной и ее значение :D

nagash
02.11.2001, 17:03
дадада... всё понял... :)
итак в итоге мы имеем что атач это классно но и дупликейт тоже неплохо...
вот тока атач сам мувики достаёт и выкладывает... хех...
а вот допустим такой вопрос... мне надо достать МНОГО мувиков... ведь у каждого должна быть своя глубина вложения иначе один мувик просто заменит другой... (заменит заменит только что намучался :p ) а есть какая нить команда которая на автомате даёт следующий уровень вложения... не занятый?
или надо всётаки сделать переменную и после каждого атача её приплюсовывать...
ведь не одни и те же мувики выкладываю а разные...

Fisher
02.11.2001, 17:21
for (i=0; i<500; i++) {
_root.attachMovie( "mv","mv"+i, i );
_root["mv+i"]._x = random (200);
_root["mv+i"]._y = random (200);
}
стандартно

gOloVasTicK '~
02.11.2001, 17:22
ИМХО то что аттач грузиться первым это не достоинство, а недостаток. Т.к. если аттаченый клип довольно большой, то у юзверя при наблюдении черного/серого/красного экрана в течении 10 сек может сложиться впечатление что вообще ничего не пашет :) А прелоад если делать, то только отдельным мувом :rolleyes:

nagash
02.11.2001, 17:26
2 fisher
так я же и говорю что не один и тот же мувик достовать надо... :) а кучу разных! :) мноооого много мувиков... разных... в итоге при каждом атаче должен быть скажем j++

Fisher
02.11.2001, 17:38
Тогда так.
for (i=0; i<500; i++) {
_root.attachMovie( "mv"+i,"mv"+i, i );
_root["mv"+i]._x = random (200);
_root["mv"+i]._y = random (200);
}
Или так
for (i=0; i<500; i++) {
_root.attachMovie( "mv1","mv"+i, ++j );
_root["mv"+i]._x = random (200);
_root["mv"+i]._y = random (200);
}
....
for (i=0; i<500; i++) {
_root.attachMovie( "mvN"+i,"mv"+i, ++j );
_root["mvN"+i]._x = random (200);
_root["mvN"+i]._y = random (200);
}

Вот тачка то подвиснет :D