0
它會拋出以下警告,但會在警告的情況下工作。在操作腳本3中從班級訪問根目錄
TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。在play_fla :: MainTimeline/play_fla ::幀1()
這裏是工作的代碼
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);
}
}
}
}
此外,它跟蹤以下
sesBut =家,=的FrameLabel菜單,sceneName =家庭,這.stage =未定義,this.root =未定義
this.stage和this.root是不確定的
嗨,謝謝你的答案。您能否向我解釋如何添加鼠標單擊處理程序以及Event.ADDED_TO_STAGE。 – Rajesh
嗨,我添加了EventListener。它可以工作,但會引發一個錯誤,TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 – Rajesh
此致,我不明白你的課堂的含義... 這是我的錯/問題。 爲什麼你想創建一個將監聽器添加到某些按鈕的類? 只要您的類不擴展MovieClip,Sprite或Simple按鈕,DisplayObjectContainer ...當您實例化它時,您沒有對根的引用,也沒有對Stage的引用。 這似乎有點棘手... – tatactic