2009-10-15 6 views
0

main.swf가 있고 그 안에는 일반 컨테이너 무비 클립 만 있습니다. 로더 함수를 사용하여 해당 컨테이너 내에 content.swf라는 외부 swf를로드합니다. Container.swf 안에 버튼이 있습니다. 이제 외부 swf가 main.swf 스테이지에있는 컨테이너 mc에로드 될 때로드 된 외부 swf의 버튼을 클릭하여 다른 프레임으로 이동하려고합니다. 나는 기본 타임 라인에서 제어하려고하면 나는 외부 SWF에서 제어하려고하면 나는 오류가 나는 버튼을 클릭을 추적 할 수외부 swf에서 메인 타임 라인을 제어하는 ​​방법

cannot convert flash.display::[email protected] to flash.display.MovieClip. 

라고 말하는하지만 타임 라인은 원하는 프레임으로 이동하지 않습니다 .

답변

2

오류 메시지에서 로더를 무비 클립에 캐스팅하려는 것 같습니다. 대신 loader.content 속성을 사용하십시오.

var loaderPath:URLRequest = new URLRequest("content.swf"); 
var loader:Loader = new Loader(); 
loader.load(loaderPath); 
var mc:MovieClip = loader.content as MovieClip; 
container.addChild(mc); 

를 본 후이 오류가 나타납니다 :

var mc:MovieClip = loader.content as MovieClip; 
//do whatever you want with mc 
+0

기억 : "ActionScript 1.0 또는 2.0으로 작성된 SWF 파일 (AVM1Movie 객체로로드 됨)은 ActionScript 3.0으로 작성된 SWF 파일을 크로스 스크립트 할 수 없으며 Sprite 또는 MovieClip 객체로로드됩니다 .LocalConnection 클래스 이 파일들이 서로 통신하도록해야합니다. " – Konrad

0

나는 이런 식으로했다

형식 오류 : 오류 # 2007 : 변수 아이가 null이어야합니다. 때문에 귀하의 경우 loader.content에 index_fla :: MainTimeline/프레임 1()

0

것은 당신이 표시 here으로 이벤트 핸들러를 사용하고 있는지 확인에서 flash.display : DisplayObjectContainer와 /하는 AddChild에서 () '는 내용을로드하지 않았다. swf '를 아직 컨테이너에 추가하려고 할 때.

var mc:MovieClip = MovieClip(loader.content); 

을 당신을 포기하지 않습니다 '로'오류가 당신을 캐스팅하려는 목적이 있다는 단순한 이유로 null의 경우, 또는 수 없습니다 :

또한이 같은 캐스팅하는 것이 바람직하다 던지다.

관련 문제