Es löst die folgende Warnung aus, funktioniert aber trotz Warnung.Zugreifen auf Stamm aus der Klasse in Action Script 3
TypeError: Fehler # 1009: Zugriff auf eine Eigenschaft oder Methode eines Nullobjektverweises nicht möglich. bei play_fla :: MainTimeline/play_fla :: frame1()
Hier ist der Arbeitscode
package {
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.display.*;
import flash.text.*;
import flash.events.Event;
import flash.display.MovieClip;
public class ClickButton extends SimpleButton {
public var fLabel:String;
public var sName:String;
public var sNumber:Number;
public function ClickButton()
{
}
public function GotoSession(sesBut:SimpleButton, frameLabel:String, sceneName:String):void {
sesBut.addEventListener(MouseEvent.CLICK, gotoSes);
function gotoSes(event:MouseEvent):void {
trace("sesBut = " + sesBut.name);
trace("frameLabel = " + frameLabel);
trace("sceneName = " + sceneName);
trace("this.stage = " + this.stage);
trace("this.root = " + this.root);
MovieClip(root).gotoAndStop(frameLabel, sceneName);
}
}
}
}
Auch er verfolgt die folgenden
sesBut = home, Framelabel = Menü sceneName = Startseite, diese .stage = undefined this.root = undefined
this.stage und this.root undefiniert
Hallo, danke für die Antwort. Können Sie mir erklären, wie Sie einen Mausklick-Handler sowie Event.ADDED_TO_STAGE hinzufügen? – Rajesh
Hallo, ich habe EventListener hinzugefügt. Es funktioniert, aber löst einen Fehler aus, TypeError: Fehler # 1009: kann auf eine Eigenschaft oder Methode eines Nullobjektverweises nicht zugreifen. – Rajesh
Mit freundlichen Grüßen, ich verstehe nicht die Bedeutung Ihrer Klasse ... Das ist meine Schuld/Problem. Warum möchten Sie eine Klasse erstellen, die Listener zu einigen Schaltflächen hinzufügt? Solange Ihre Klasse nicht MovieClip, Sprite oder einfache Schaltfläche, DisplayObjectContainer erweitert ... Wenn Sie es instanziieren, haben Sie keinen Verweis auf root, noch Bühne. Das scheint ein wenig knifflig zu sein ... – tatactic