no, ascolta preferisco non interferire con la logica degli script scritti da qualcun altro... piuttosto ti faccio un esempio semplicissimo estendendo come te il SimpleButton
Codice PHP:
package {
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.Event;
public class Test extends SimpleButton {
private var __clip:MovieClip;
public function Test(){
__clip = new MovieClip();
__clip.graphics.beginFill(0x00FFFF);
__clip.graphics.drawRect(0,0,100,100);
trace(stage); // output: null
// se provo ad attaccare allo stage il __clip in questo momento, ottengo un errore
// stage.addChild(__clip);
addEventListener(Event.ADDED_TO_STAGE, __added__);
}
private function __added__(e:Event){
trace(stage); // output: [object Stage]
// mentre se lo attacco dentro la funzione comandata dall'evento Event.ADDED_TO_STAGE
// la proprietà stage, ereditata dalla classe SimpleButton
// viene "riempita" con il riferimento allo stage su cui verrà attaccata l'istanza della classe Test
// di conseguenza, richiamando dentro un metodo della classe Test, il metodo addChild, legato allo stage
// attaccherò correttamente sullo stage il __clip
stage.addChild(__clip);
}
}
}
e sulla timeline principale
Codice PHP:
var sb:Test = new Test();
addChild(sb);