PDA

Просмотр полной версии : Вылетает Ошибка №1010


Universe
15.03.2010, 12:47
Не могу понять, почему removeChild выдаёт эту ошибку
var bullet_mc:Bullet;

var debries:Array = new Array();
var debrieNum:uint = 0;
var speed:uint = 10;
var debriesTimer:Timer = new Timer(60);
stage.addEventListener(MouseEvent.MOUSE_DOWN, debriesOn)

function debriesOn(e:Event):void
{
debriesTimer.addEventListener(TimerEvent.TIMER, trailFunc);
debriesTimer.start();
stage.addEventListener(MouseEvent.MOUSE_UP, debriesOff);
}

function debriesClear():void
{
for(var i:int=debries.length - 1; i>=0 ; i--)
{

trace(debries[i]);
removeChild(debries[i]);
debries.splice(0,1);
debriesTimer.stop();
debriesTimer.removeEventListener(TimerEvent.TIMER, trailFunc);
}
}
function debriesOff(e:Event):void
{
debriesClear();

}

function trailFunc(e:Event):void
{
bullet_mc = new Bullet();
addChild(bullet_mc);
bullet_mc.name = "debrie" + debrieNum;
if(debrieNum <= 25)
{
bullet_mc.x = mouseX + Math.random()*(10 + debrieNum);
bullet_mc.y = mouseY + Math.random()*(10 + debrieNum);
}
else
{
bullet_mc.x = mouseX + Math.random()*10;
bullet_mc.y = mouseY + Math.random()*10;
}
debrieNum ++;
debries.push(bullet_mc);
//trace(trailNum);

//debriesClear();

}

Упс...извиняюсь,в названии не тот код ошибки указал! Ошибка № 2025 - The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()

etc
15.03.2010, 12:52
Ну потому что вы зачем-то делаете splice нулевого элемента, а удаляете последний.
И зачем-то в цикле отписываетесь от таймера. Это чтобы наверняка?