![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2006
Адрес: Владивосток
Сообщений: 28
|
Доброе время суток !
Подскажите плиз как рендомно удалить клип. То есть на сцене есть допустим 10 рэндомно аттачиных клипов. По клику мыши onMouseDown аттачится еще один клип... Нужно в этот момент удалить другой клип. Вобщем по принципу: один появился, другой исчез... Заранее благодарен Всем откликнувшимся... |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Поместите ссылки на все мувики в массив, при аттаче нового мувика добавляйте ссылку на него в массив, затем удаляйте мувиклип ссылка на который хранится в первом элементе массива, после удаляйте первый элемент массива со сдвигом.
Если хотите удалить случайный элемент массива( shift удаляет первый), то, пожалуйста, метод splice , где а случайное число, но не больше длины массива -1. Последний раз редактировалось this.create; 08.05.2007 в 03:22. |
|
|||||
|
Регистрация: Mar 2006
Адрес: Владивосток
Сообщений: 28
|
не получается ...
я правда немного не так написал.. вот код... var nebo:Array =["st1","st2","st3","st4","st5","st6","st7","st8","st9","st10"];
for(i=0;i<10;i++){
attachMovie("st","st"+i, i,{_x:1+Math.random()*500,_y:1+Math.random()*400})
nebo[i]=this["st"+i];
}
onMouseDown=function(){
nebo.push("st"+i);
attachMovie("st","st"+i,++i,{_x:1+Math.random()*500,_y:1+Math.random()*400})
_root["st"+i].gotoAndStop (Math.round(Math.random()*2));
nebo.shift(0);
trace(["st"+i]);
}
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
var nebo:Array = [];
for (i=0; i<10; i++) {
attachMovie("st", "st"+i, i, {_x:1+Math.random()*500, _y:1+Math.random()*400});
nebo[i] = this["st"+i];
}
trace(nebo);
onMouseDown = function () {
nebo.push(this["st"+i]);
attachMovie("st", "st"+i, ++i, {_x:1+Math.random()*500, _y:1+Math.random()*400});
_root["st"+i].gotoAndStop(Math.round(Math.random()*2));
nebo[0].removeMovieClip();
nebo.shift();
trace(["st"+i]);
};
Вот мой вариант, но получилось достаточно сложно. И проверить как следует не успел (уже спать хочу), так что на ваш страх и риск используйте. var nebo:Array = [];
for (i=0; i<10; i++) {
var mc:MovieClip = this.attachMovie("st", "st"+i, this.getNextHighestDepth(), {_x:1+Math.random()*500, _y:1+Math.random()*400});
nebo[i] = mc;
mc.onPress = function():Void {
pressFc();
};
}
var count:Number = i;
//
function pressFc():Void {
count == 100 ? count=0 : count++;
var mc:MovieClip = this.attachMovie("st", "st"+count, this.getNextHighestDepth(), {_x:1+Math.random()*500, _y:1+Math.random()*400});
mc.onPress = function():Void {
pressFc();
};
nebo.push(mc);
this.gotoAndStop(Math.round(Math.random()*2));
nebo[0].removeMovieClip();
nebo.shift();
}
Последний раз редактировалось this.create; 08.05.2007 в 04:02. |
|
|||||
|
Да, но видимо нужно кликать на сцену, а не на клипы, потому надо mouseDown, а не onPress.
2автор Неработало потому что вы сначала пытались в массив запехать ссылку на клип, а потом уже клип создавали.
__________________
"We Are The Champions My Friends!" Queen |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|