2011-07-18 6 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

라일리 필수 액션 스크립트 3.0을 참조하십시오. 도서.

이렇게하면 명확한 선명도를 얻을 수 있습니다.

관련 문제