PDA

Просмотр полной версии : Удаление созданного мувика спустя 30сек


ilkadi
04.02.2007, 08:42
У меня есть код благодаря которому создаются мувики с заданным интервалом времени (спасибо тем кто помогал найти ошибки в нем):bye:
Но еще мне нужно чтобы каждый из этих мувиков спустя 30 сек удалялся.
Вот код, может так будет легче ответить:victory:
//создаём мувик, в который будем attach'ить содержимое
var _mc:MovieClip = this.createEmptyMovieClip("stage_mc", this.getNextHighestDepth());

//устанавливаем интервал в 1 сек (1000 миллисекунд)
var intervalID = setInterval(doAttach, 1000, _mc);

//функция, вызываемая раз в секунду, которая производит attach, в переданный ей MovieClip
function doAttach(_mc:MovieClip):Void
{
//берём следующую бОльшую глубину
var depth:Number = _mc.getNextHighestDepth();
//крепим объект из библиотеки, с дополнительным параметром initObj, где указываем координаты, в которых следует разместить новый MovieClip
var tmp_mc:MovieClip = _mc.attachMovie("myMovieClip", "newclip" + depth + "_mc", depth, {_x:int(Math.random()*Stage.width), _y:int(Math.random()*Stage.height)});

//Вешаем на созданный MovieClip событие. Здесь можно также сделать onEnterFrame и прочие...
tmp_mc.onRelease = function()
{
//Если кликаем по объекту, то он удаляется.
this.removeMovieClip();
}
}

ilkadi
08.02.2007, 08:22
люди Ау! Пожалуйста, у меня осталсь всего неделя!

pkfun
08.02.2007, 10:26
//создаём мувик, в который будем attach'ить содержимое
var _mc:MovieClip = this.createEmptyMovieClip("stage_mc", this.getNextHighestDepth());
//устанавливаем интервал в 1 сек (1000 миллисекунд)
var intervalID:Number = setInterval(doAttach, 1000, _mc);
//функция, вызываемая раз в секунду, которая производит attach, в переданный ей MovieClip
function doAttach(_mc:MovieClip):Void {
//берём следующую бОльшую глубину
var depth:Number = _mc.getNextHighestDepth();
//крепим объект из библиотеки, с дополнительным параметром initObj, где указываем координаты, в которых следует разместить новый MovieClip
var tmp_mc:MovieClip = _mc.attachMovie("myMovieClip", "newclip"+depth+"_mc", depth, {_x:int(Math.random()*Stage.width), _y:int(Math.random()*Stage.height)});
//Вешаем на созданный MovieClip событие. Здесь можно также сделать onEnterFrame и прочие...
tmp_mc.onRelease = function() {
//Если кликаем по объекту, то он удаляется.
this.removeMovieClip();
};
//
setTimeout(removeCurMc, 1000, tmp_mc);
}
//
function removeCurMc(mc:MovieClip):Void {
mc.removeMovieClip();
}

Присвоил тип переменной интервала по замечанию __etc

CorC
08.02.2007, 10:57
только, если чз 30 сек то 30000 после removeCurMc

pkfun
08.02.2007, 11:08
CorC
Я полагаю, что автор вопроса хотя бы примерно понимает как работает его код.

etc
08.02.2007, 12:39
Товарищи, если вы пишите типизированный код, то почему у intervalID нет типа, а?

ilkadi
11.02.2007, 08:47
Спасибо большое как раз вовремя и все работает как надо :)

miramax
11.02.2007, 09:44
Товарищи, если вы пишите типизированный код, то почему у intervalID нет типа, а?
Потому что далеко не все знают что возвращает функция setInterval() :)

etc
11.02.2007, 11:54
Мммм, скорее не все знают, что setInterval возвращает что-то.