2012-01-11 5 views
0

ActionScript 3에 약간의 문제가 있으며 여기에 도움이 필요합니다.하나의 클래스에서 다른 클래스의 함수 호출

두 클래스가 있습니다. 하나는 Sledge이고 다른 하나는 Sock이라고하는 파일 클래스와 Main이라는 문서 클래스가 있습니다.

Sledge의 내부
  • , 나는 Main 문서 클래스 내부에 정의 된 함수를 호출 다음과 같이

    내 문제입니다. 클래스에 문서 클래스로 가서 해당 함수를 실행하도록 지시하려면 어떻게해야합니까? 이것도 다른 클래스 나 문서 클래스에서 동일할까요? if(hitTestObject(sock.myHitArea)) { /* somecode*/ }

    sock 다른 별도의 클래스의 인스턴스이며,이 시점에서 이미 생성 된 : Sledge 내부

  • , 나는 다음과 같은 문장이있다. 그러나 내가 이것을 시도하고 실행할 때 그것이 정의되어 있지 않다는 말을 듣는다. 어떻게 해결할 수 있을까요?

답변

1

질문을 표현한 방법에 다소 모호한 문제가 있습니다. 문제에 대한 간단한 코드를 게시하면 도움이됩니다.

그러나, 나는 첫 번째 질문에 대답하려고합니다 : 썰매의 내부

을, 나는 주 문서 클래스 내부에 정의 된 함수를 호출합니다. 클래스에 문서 클래스로 가서 해당 함수를 실행하도록 지시하려면 어떻게해야합니까?

메인 클래스를 Sledge 클래스에 전달하거나 바람직한 이벤트를 사용하고자 할 것입니다.

class Main { 
private var sledge:Sledge; 
    function Main() { 
     sledge = new Sledge(); 
     sledge.addEventListener("mainDoSomething", doSomething); 
    } 
    private function doSomething(e:Event):void { 
    // .... do stuff 
    } 
} 
class Sledge extends EventDispacter { 
    function Sledge() { 
    } 
    public function doSomething():void { 
    dispatchEvent(new Event("mainDoSomething")); 
    } 
} 
: 그것은 같이하는 클래스 ...

class Sledge { 
    private var main:Main; 
    function Sledge(main:Main) { 
     this.main = main; 
    } 
    function doSomething():void { 
    main.runSomeFunction(); 
    } 
} 

또는 사용하여 이벤트의 경우를 전달하는 경우

관련 문제