Domanda

Come si accede a proprietà dello stage di qualità in Costum classe?

Classe:

package {
    import Main;
    import flash.events.*;
    import flash.display.Sprite;
    import flash.display.Stage;

    public class Run extends Sprite {
        var obj:a1_spr;


        public function Run() {
            runAssets();

        }



        private function runAssets():void {
            obj = new a1_spr()
            addChild(obj);
            obj.x = stage.stageWidth/2;

        }
    }
}

Output:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
È stato utile?

Soluzione

this.addEventListener(Event.ADDED_TO_STAGE, handleAdedToStage)

private function handleAddedToStage(event:Event):void
{
    this.runAssets()
}

private function runAssets():void
{
    obj = new a1_spr();
    addChild(obj);
    obj.x = this.stage.stageWidth/2;
}

Non si ha intenzione di avere accesso alla fase nel costruttore (a meno che non si inietta il palco in classe). Sprite ha una proprietà stage.

Altri suggerimenti

Per espandere su ciò che ha detto Joel, e metterlo in contesto:

Ogni oggetto di visualizzazione ha una proprietà .stage, ma che la proprietà è nulla finché non si aggiunge di visualizzare oggetti sulla lista di visualizzazione. Così durante la costruzione, non si sarà mai in grado di accedervi, (perché viene aggiunto in seguito)

L'ADDED_TO_STAGE evento viene attivato quando si aggiunge l'oggetto allo stadio, ltting si sa che la proprietà .stage è ora popolata. Dopo ciò accade si può accedere al palco da qualsiasi parte obiettate.

La speranza che chiarisce le cose per voi.

quando il flash compila il patrimonio fla con i file .as, non c'è nessuna fase. in modo che il codice viene avviato in preparazione per la vostra documentclass, dovete ascoltare se c'è uno stadio in modo che possa essere reso.

è per questo che si ascolta ADDED_TO_STAGE, per controllare in realtà è nell'elenco di visualizzazione.

Questo problema si verifica per tutti gli oggetti di visualizzazione, in quanto devono essere aggiunti all'elenco di visualizzazione quando c'è una fase vera e propria.

abituarsi ad aggiungere che chi ascolta, e verificare la presenza di un palcoscenico. specialmente quando si lavora in una squadra e il vostro fare i propri componenti in un progetto più ampio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top