2011-02-24 137 views
1

我有一個類ABC訪問類成員

class ABC 
{ 
    var l:Label=new Label(); 
    var m:MovieClip=new MovieClip(); 
} 

鑑於ABC類,例如的一個實例obj

var obj:ABC=new ABC(); 

我需要同時訪問obj.mobj.l。說m有一個事件偵聽fl_listen它獲取鼠標點擊觸發:

function fl_listen(event:MouseEvent):void 
{ 
    var k=event.target; 
} 

在此處理程序,我可以訪問ABC類的MovieClip。但是,我的要求也要求訪問ABC類中的Label的對象。任何幫助將不勝感激,我是使用ActionScript的新手。

回答

1

我想你應該重新考慮你的架構。 爲什麼你必須在m處理事件?只要聽取ABC內部的事件並在那裏處理事件,就可以訪問標籤和動畫片段。如果你需要在movieclip實例m中執行一些邏輯,那麼在你的mc中處理這個並且只處理它。

使用你的僞代碼:

public class ABC 
{ 

    var l:Label=new Label(); 
    var m:MovieClip=new MovieClip(); 

    function ABC(){ 
     m.addEventListener(MouseEvent.X,_handleX); 
    } 

    private function _handleX(e:Event):void{ 
     //you have access to both. Do what you need: 
     m.alpha = 0.4; 
     l.text = 'Changed'; 
    } 


} 
+0

並重新考慮你的命名約定呢! – alecmce 2011-02-25 05:48:10