Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Зачем нужен AttachMovie? (http://www.flasher.ru/forum/showthread.php?t=22233)

RFMitrio 31.10.2001 17:03

Зачем нужен AttachMovie?
 
Что-то я не очень понял по описанию, для чего он нужен? Ведь есть же 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/showthre...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

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

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


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

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