2010-04-19 9 views
2

나는 AS3의 SWF 내부에 제대로로드 할 AS2의 SWF를 얻기 위해 열심히 노력했습니다 많은 외부 XML 파일 등을 참조하는 응용 프로그램)은 Flash Player에서 실행될 때 완벽하게 작동합니다.문제로드 AS2의 SWF는

(URLRequest 및 Loader 클래스를 사용하여) AS3 swf를 통해 동일한 파일을로드하려고하면 파일이로드되기 시작하지만 사전로드 단계에서 갑자기 중지됩니다. (AS2 "loadMovie"를 사용하여로드하려고하면 같은 일이 발생합니다.)

업데이트 : swf가 실제로 AS2 loadMovie를 통해로드되지만 AS3 로더 클래스는로드하지 않는 것처럼 보입니다.

더 많은 정보가 있습니까? 보안 설정, 사용자 정의 로더 클래스 - 모든 조언을 주시면 감사하겠습니다.

답변

3

AS3 swf에로드 된 AS2 swf는 상위 swf와 통신하는 데 문제가 있으므로 로더가 swf로드를 추적하는 데 문제가있어 문제가 발생할 수 있습니다. AS2에서로드하는 SWF를 작성한 다음 LocalConnection을 사용하여 AS3 swf에 연결해야합니다.

1

일반적으로로드 된 동영상은 다른 SWF에서로드되도록 설계되어야합니다. 예를 들어 모든 초기화 코드는 Event.ADDED_TO_STAGE 이벤트가 발생한 이후의 위치 여야하며 루트에 대한 모든 참조가 예상대로 작동하지 않습니다. 예를 들어, 요소의 루트는 swf가 단독으로 실행될 때의 단계이지만 다른 swf에서 swf가로드 될 때 크기와 위치가 다를 수있는 상위 swf가 루트가 될 때 문제가됩니다.

+0

로드하는 자식 SWF가 작성한 AS2에는 Event.ADDED_TO_STAGE가 없습니다. – davr

1

AS2 코드에서 lockroot (또는 _lockroot?)를 true로 설정해야합니다. 또한 AS2 코드에서 _level0을 어디서든 사용하면 작동하지 않으므로 _root로 변경해야합니다.

+0

동영상이로드되면 수동으로 _level0을 _root로 설정할 수 있습니다. 과거에는 외부 AS2 내용을로드하기 위해 작은 내장 AS2 동영상을 사용했습니다. 그 여분의 레이어가 도움이되는 것 같습니다. – cleong

1

이것을 확인하십시오.

  1. 프레임 2에서 AS2 APP를로드 할 AS2 컨테이너를 만듭니다.
  2. 로드 컨테이너에서 AS3 애니메이션.
  3. LocalConnection을 통해 이러한 통신을합니다.

또는

수출 모든 AS2의 APP 클래스 2 (에서 설정을 게시) 프레임합니다.