2011-07-18 27 views
1

假設我有這個名爲「Click_Here」的按鈕,並且我在某個類文件中添加了一個事件監聽器,以便它能夠在另一個類文件中運行事件處理函數..所以它會是這樣的把事件監聽器放在不同的類中..?

classfile1.as

Click_Here.addEventListner(MouseEvent.CLICK , buttonClicked) ; 

classfile2.as

public function buttonClicked (e:MouseEvent){ trace ("hello");} 

是可能的......?

回答

3

是。考慮類:

public class MyClass 
{ 
    public function MyClass() 
    { 
    } 

    public static function staticListener(evt:MouseEvent):void { 
     trace("static"); 
    } 

    public function instanceListener(evt:MouseEvent):void { 
     trace("instance"); 
    } 
} 

現在做到這一點:

Click_Here.addEventListner(ouseEvent.CLICK , MyClass.staticListener); 

或者:

var obj:MyClass = new MyClass(); 
Click_Here.addEventListner(ouseEvent.CLICK , obj.instanceListener); 
2

是的,這是可能的:

Click_Here.addEventListner(MouseEvent.CLICK , instanceOfClass2.buttonClicked) ; 
0

參考

奧賴利必不可少的ActionScript 3.0。書。

這會給你清晰的清晰度。