2011-07-18 8 views
1

「Click_Here」と呼ばれるこのボタンがあり、イベントハンドラを別のクラスのイベントハンドラを実行するためにいくつかのクラスファイルでイベントリスナを追加したとしましょう。 このようになりますイベントリスナーを別のクラスに配置しています..?

classfile1.as

Click_Here.addEventListner(MouseEvent.CLICK , buttonClicked) ; 

classfile2.as

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

可能ということですか..?

答えて

3

はい。クラスを考えてみましょう:

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

または::

public class MyClass 
{ 
    public function MyClass() 
    { 
    } 

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

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

は今、これを行う

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

はい、それは可能です:

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

オライリー不可欠のActionScript 3.0を参照してください。本。

これは明確な明快さを与えるでしょう。

関連する問題