Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как зааттачить много мувиклипов с одним именем? (http://www.flasher.ru/forum/showthread.php?t=68008)

ZЭТ 17.08.2005 12:25

как зааттачить много мувиклипов с одним именем?
 
Я пробую аттачить мувиклип, но мне надо чтоб их было много. При каждом щелчке должен появляться новый мувиклип . Короче говоря мне надо сделать пулемет... Я пробовал и аттачить и дуплячить, но постояно появляется один мувиклип.
ship.onMouseDown = function() {
blam.duplicateMovieClip("blam_", 1, {_x:ship._x, _y:ship._y});
//во втором кадре обэекта blam происходит действие полета патрона.
blam_.gotoAndPlay(2);
};

Past_Or 17.08.2005 12:44

с одним именем никак

i=1;
ship.onMouseDown = function() {

i++;
blam.duplicateMovieClip("blam_"+i, 1, {_x:ship._x, _y:ship._y});
//во втором кадре обэекта blam происходит действие полета патрона.
blam_.gotoAndPlay(2);
};

только так, птмчт с одним именем в одном клипе или в руте не может быть двух клипов с одним именем.

ZЭТ 17.08.2005 12:54

не так тоже не получается, я пробовал. Может к мувиклипу надо обращаться через квадратные скобы?
["blam_"+i].gotoAndPlay(2); чето типа того или как?

KidsKilla 17.08.2005 13:39

эт чегойт не может с одним именем много мувиков быть? =)
оч даже может.
на одном уровне нельзя. эт да:

i=1;
ship.onMouseDown = function() {
i++;
blam.duplicateMovieClip("blam_"+i, i, {_x:ship._x, _y:ship._y});
//во втором кадре обэекта blam происходит действие полета патрона.
blam_.gotoAndPlay(2);
};

обращаться так: this["blam_"+i].gotoAndPlay(2);

что-то где-то так...

iNils 17.08.2005 13:40

имя не так важно :) если будут два клипа с одним именем, то обращаясь по этому имени, вы получите доступ только к тому клипу который был создан позднее. но если вы этот клип удалите, то получите доступ к первому.
так, о чем это я?
важнее глубина, на одной глубине два клипа существовать не могут

i=1;
ship.onMouseDown = function() {

i++;
blam.duplicateMovieClip("blam_"+i, i, {_x:ship._x, _y:ship._y});
//во втором кадре обэекта blam происходит действие полета патрона.
this["blam_"+i].gotoAndPlay(2);
};

PS не успел :)

ZЭТ 17.08.2005 13:53

млин, внатуре... на разной глубине все пашет, спсбо.

motor4ik 17.08.2005 14:00

Цитата:

Сообщение от iNils
имя не так важно :) если будут два клипа с одним именем, то обращаясь по этому имени, вы получите доступ только к тому клипу который был создан позднее. но если вы этот клип удалите, то получите доступ к первому.

А вот и ответ на тот вопрос, на который ты не смог смоделировать ситуацию!!! когда swapDepths () не реагирует! он реагирует ,но на последний созданый мувик, просто есть еще один мувик который был создан вручную с таким же именем ,по - этому вот такая батва ребята!!

все таки ответы находятся , короче если вы создаете мувик в первом кадре программно, а на втором кадре у вас тот же мувик но вручную...при переходе на второй кадр вам будет казаться что все зашибись! но вот нет swapDepths () работать будет некорректно, так как у вас 2 мувика с одинаковым именем!! так что обяз надо удалить программный мувик при переходе с 1го на 2й кадр!!! это ребята ботва еще та, я с ней намучался, это хорошо когда у вас 2 кадра и 2 мувик а когда их сотни отследить это сложнее! и это Реальная трабла! удачи :)

KidsKilla 17.08.2005 14:05

а не проже ли все мувики в массив загонять? и никаких проблем.

ZЭТ 17.08.2005 14:39

а мне надо еще чтоб они удалялись, кода достигали границы раб поля, - это действие должно быть в функции или нет??

D12 18.08.2005 00:58

_root.onMouseDown = function() {
_root.attachMovie("gun","gun1"+i,i);
_root["gun1"+i]._x = _root.ship._x
_root["gun1"+i]._y = _root.ship._y
_root["gun1"+i].onEnterFrame = function() {
this._x+=12;
if (this._x>450){
this.unloadMovie();
}
}
i++
}


всегда рад помочь ))) особенно геймерам ;)


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

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