2012-08-08 219 views
0

所以,我有一個名爲「LoginScreen」的movieclip,裏面有一個叫做「confirmmbutton」的實例。AS3 addEventListener在另一個動畫片段內的動畫片段

我想添加登錄屏幕階段和設置一個事件監聽器,它裏面的按鈕,但我不斷收到錯誤。

這是我的代碼:

var LoginScreen:loginscreen = new loginscreen; 
LoginScreen.x = stage.stageWidth/2; 
LoginScreen.y = stage.stageHeight/2; 
addChild(LoginScreen); 

LoginScreen.confirmbutton.addEventListener(MouseEvent.CLICK, test); 

function test(e:MouseEvent):void{ 
    trace("Sup?"); 
} 

我得到的錯誤:

Symbol 'LoginScreen' 1046: Type was not found or was not a compile-time constant: confirmbutton. 

我敢肯定它的存在和它的命名正確(有沒有上限確切名稱),所以我猜測它可能是一個範圍問題。

+0

你肯定* loginscreen *是影片剪輯?也許它是*圖形*或*按鈕*? – eleven 2012-08-08 10:30:40

+0

兩者都是動畫片段。我基本上只做所有動畫片段,爲動作提供額外的靈活性。 – FoxLift 2012-08-08 10:37:48

回答

0

嘗試使用幫助器gettter函數獲取內部MovieClip。所以,你定義成LoginScreen類把一個簡單的getter函數像這樣的:

public function get ConfirmButton():MovieClip { return this.getChildByName("confirmButton") as MovieClip; } 

然後你可以從LoginScreen對象訪問該MovieClip這樣的:

LoginScreen.ConfirmButton.addEventListener(MouseEvent.CLICK, test); 
0

想通了。將該按鈕重命名爲「confirmButton」(大寫「B」)並開始工作。我想問題是,「confirmmbutton」也是動畫片段的AS連接。

+0

這就是爲什麼你必須始終用第一個大寫字母命名聯繫和類。 – Gio 2012-08-08 11:23:57

+1

哎呦。我通常正好相反。 AS以小寫字母連接,以及首字母大寫的動畫片段。 – FoxLift 2012-08-08 11:37:10

相關問題