Вход

Просмотр полной версии : Цикл, копии клипов?


repz
19.11.2007, 19:07
Добрый вечер!
С помощью цикла аттачу на сцену мувик из библиотеки в нем при нажатии аттачится еще один мувик из библиотеки, но имя каждого приаттаченного каждый раз одно и то же поэтому предыдущий приаттаченый удаляется
_root.attachMovie(nam, "nemc", 1, {_x:200, _y:100});
как сделать что б можно было приаттачить несколько клипов (math.random?), и как к ним потом обратиться что б удалить?
Спасибо.

CrazyFlasher
19.11.2007, 19:18
_root.attachMovie(nam, "nemc", _root.getNextHighestDepth(), {_x:200, _y:100});

repz
19.11.2007, 19:25
2 CrazyFlasher:
Не, не то совсем - это глубина, если так сделать, то клип-то приаттачится, но управление будет только на втором, а на них еще стоит драг, т.е. тянуть мона буит только за один, как быть и как удалить потом все клипы одним нажатием?

Molecula
19.11.2007, 20:12
Что вы его всё в рут атачите, атачте в контейнер.
Ну вот пример:
for(var i=0;i<3;i++){
amc = attachMovie("qwe", "mc"+i, i);
amc._x=amc._width*i;
}
//------------Это функция уничтжения------
function destroy()
{

for(var i=0;i<3;i++){
removeMovieClip("mc"+i);
}

}

Что бы внутри атачнутого клипа, удалить атачнутый, нужно создать и удалить, пишем:
var i=0;
amc = attachMovie("qwe", "mc"+i, i);
i++
amc2 = amc.attachMovie("qwe2", "mc"+i, i);
amc.onPress=del;
function del()
{
removeMovieClip(amc2)
}

repz
19.11.2007, 21:10
Щас попробую объяснить вот код мувик-хинта:
var stud = new Array(newmc.st1, newmc.st2);
for (j=0; j<stud.length; j++) {
stud[j].onRelease = function() {

var nam = this._name+"mc";
_root.attachMovie(nam, "nemc", 1, {_x:200, _y:100});
nemc.onMouseDown=function(){
nemc.startDrag();}
nemc.onMouseUp=function(){
nemc.stopDrag();}
}
как видите есть массив кнопок, если нажать одну - она вылезет, если вторую, тоже вылезет, нопервая пропадет при этом, если использовать для задания глубины _root.getNextHighestDepth(), то тогда не работает nemc.startDrag(), так как на разных глубинах, работает верхний только.