2011-11-24 3 views
0

다른 클래스의 개체를 보유하고있는 클래스가 있습니다. 이 클래스에서 일부 함수를 호출 할 때 위의 오류가 발생합니다 ... 더 좋은 아이디어를 얻으려면 코드를 참조하십시오!TypeError : 오류 # 1006 : playContent가 함수가 아닙니다.

MainMenu.as

package portfolioSource {  
    public class MainMenu extends MovieClip { 

     private var movieContainer:MoviePlayerContainer; 

     public function MainMenu() { 

      movieContainer = new MoviePlayerContainer(); 
      this.addChild(movieContainer); 

     } 

     function ef_btnTheme1CLICK(event:Event){ 

      movieContainer.playContent(1);//It breaks here 

     }   
    }  
} 

및 MoviePlayerContainer.as

package portfolioSource {  
    public class MoviePlayerContainer extends MovieClip { 

     public function playContent(_parameter:Number){ 

      trace("I do not work"); 

     } 
    } 

} 

내가 잘못 무엇에 어떤 아이디어? movieContainer 객체의 함수 중 하나가 작동하지 않습니다. 매번 같은 오류가 발생합니다. 생성자는 (생략) 실행,하지만 난 패키지 부분을 제거하고 것처럼 기본적으로 떠날 때이 오류 ...

을 생성하지 않습니다되지 않습니다

package { 
    public class someClass{ 
    } 
} 

그런 다음 그것을 작동합니다. 그래서 저는 지금 정말로 혼란 스럽습니다.

감사합니다.

+0

당신은 라이브러리에서 무비 클립을 확장하고 있습니까? 그렇다면 MoviePlayerContainer가 클래스에 대한 잘못된 경로를 가지고 있기 때문에 클래스 별칭 라벨과 가까운 것은 외부 .as 파일에 대한 연결을 확인할 수있는 버튼입니다. 그것을 클릭하고 링크를 확인하십시오. – turbosqel

답변

0

다른 패키지에 동일한 이름으로 정의 된 2 개의 클래스가있는 것처럼 보입니다. 그 중 하나를 제거하거나 이름을 변경해야합니다.

내가 플래시이 지원하는 경우 인식 해요,하지만이 작동하는지 확인 : private var movieContainer : portfolioSource.MoviePlayerContainer;

+0

실제로 같은 이름의 클래스가 2 개 있습니다. 하지만 당신이 말했듯이, 그들은 다른 패키지에 있습니다. 패키지 부분이 이것을 고쳐야하지 않습니까? 내가 알기에 그것이 바로 패키지가 필요한 것입니다! 주 swf에 외부 swf를로드하려고합니다. 이 외부 swf는 주 swf와 동일한 이름의 클래스를 사용하며 모든 것을 파괴합니다. 패키지를 고칠 수 있기를 바랬습니다. 오 잘. – getack

+0

문제는 기본 (빈) 패키지가 항상 포함되어 있고 동일한 패키지의 모든 클래스가 포함되어 있기 때문에 같은 이름의 클래스가 2 개 포함되어 있고 컴파일러는 무엇을해야할지 모르기 때문입니다. – felipemaia

+0

그 점을 이해합니다. 그런 다음 기본 swf의 패키지를 위의 포트폴리오 (portfolioSource)로 변경하고로드 된 swf의 패키지 기본값을 그대로 둡니다. 위와 같은 오류가 발생했습니다. – getack

관련 문제