2012-09-18 2 views
1

다른 파일에서 handleText 함수를 호출하려고합니다.as3의 다른 파일에서 함수 호출

package 
{ 
    import flash.display.MovieClip; 

    public function handleText(mc:MovieClip):void 
    { 
     mc.text="aaaaaa"; 
    } 
} 

하지만 다른 파일에서 함수 handleText 호출 할 때 (또한으로, 위의 코드를 사용하여 파일과 같은 디렉토리에 "패키지 {"상단에), 나는 정의되지 않은 함수의 오류가 발생합니다. 뭐가 잘못 되었 니? 감사!

+0

먼저 클래스를 만든 다음 해당 클래스의 인스턴스를 만들어야합니다. 먼저 객체 지향 프로그래밍에 대해 알아보고 읽어야합니다. http://www.adobe.com/devnet/actionscript/ articles/oop_as3.html – Neil

+0

OOP를 알고 있습니다. AS3은 완전히 객체 지향적이며, 글로벌 기능을 지원하지 않습니다. – nodwj

+0

죄송합니다. 당신이 OOP을 모른다고 추정했습니다! 객체 지향 AS3입니다. Flash IDE를 사용하는 경우 Document Class를 제공해야합니다. 그러면 원하는 경우 전역 함수를 사용할 수 있습니다. – Neil

답변

1

원래 클래스 코드를 수정하지 않고도 개발자가 별도의 파일에서 클래스에 기능을 추가 할 수있는 Objective-C의 카테고리와 같은 것에 대해 이야기하고 있다고 가정 해 보겠습니다. 그렇다면 아니오. AS3의 클래스와 구조는 파일 구조에 많이 연결되어 있으므로 이미 정의 된 클래스의 기능을 별도의 파일로 확장 할 수 없습니다.

그러나 상속을 사용하여 클래스의 기능을 추가하거나 수정할 수 있습니다. 이렇게하면 메서드와 변수를 별도의 .as 파일에 추가 할 수 있지만 새 클래스는 자체 이름을 가진 별도의 클래스로 처리됩니다.