PDA

Visualizza la versione completa : [AS3] Error #2007


Rossella_75
29-10-2010, 19:32
ciao a tutti

provo ad aggiungere una casella di testo dentro la clip disegnata dinamicamente ma ricevo questo errore


TypeError: Error #2007: Il valore del parametro child deve essere diverso da null.
at flash.display::DisplayObjectContainer/addChild()
at actionlab::MenuMove/DisegnaMenu()
at MethodInfo-190()
at flash.display::DisplayObjectContainer/addChild()
at home_fla::MainTimeline/frame2()




private function DisegnaMenu() {
var LarghezzaMenu = (spazioMax-DimLogo)/testi.length;
// Creo le clip menu
for (var i:uint=0; i<testi.length; i++) {
rettangolo[i] = new Sprite();
rettangolo[i].graphics.lineStyle (1,colore_menu[i]);
rettangolo[i].graphics.beginFill(colore_menu[i]);
rettangolo[i].graphics.drawRect(0,0,LarghezzaMenu, AltezzaMenu);
rettangolo[i].y = stage.stageHeight/2-AltezzaMenu/2;
var taglia = testi.length/2;
if(i >= taglia){
rettangolo[i].x = DimLogo+(margine_sinistro+(LarghezzaMenu+2)*i);
}else{
rettangolo[i].x = margine_sinistro+(LarghezzaMenu+2)*i;
}
addChild(rettangolo[i]);
rettangolo[i].addChild(inizializza(testi[i]));
}
}

private function inizializza(perc):void {
casellaTesto.htmlText=perc; TextField
casellaTesto.border=false;
casellaTesto.autoSize = TextFieldAutoSize.CENTER;
casellaTesto.multiline=false;
casellaTesto.wordWrap=false;
casellaTesto.x=stage.stageWidth/2-casellaTesto.width/2;
casellaTesto.y=stage.stageHeight/2-casellaTesto.height/2;
formattazioneText.font=Carattere;
formattazioneText.size=DimensioneFont;
formattazioneText.color=ColoreFont;
casellaTesto.setTextFormat(formattazioneText);
addChild(casellaTesto);
}


mm dove sbaglio?? :confused:

Grazie

KillerWorm
04-11-2010, 12:44
Ciao.

L'errore esattamente questo:

Il valore del parametro child deve essere diverso da null

A prima vista mi pare che la funzione "inizializza" non restituisca niente, quindi questa riga non ha molto senso:

rettangolo[i].addChild(inizializza(testi[i]));

Dovresti mettere un return all'interno della funzione "inizializza" o quantomeno gestire in modo diverso il valore che stai passando al metodo addChild.

Loading