레이어의 레이어, 일부 기능 및 일부 키 프레임 레이블이 포함 된 SWF의 기본 타임 라인에 플래시 애니메이션이 만들어졌습니다. 예를 들어, 나는 화면을 가로 질러 오는 별의 무비 클립을 가지고 있고 메인 타임 라인의 dispatchEvent를 트리거하여 프레임 레이블 "next"로 이동합니다.AS3 로더가 동일한 swf를 반복해서 계속로드합니다.
Stars.addEventListener("fadeInTitle",_fadeInTitle);
function _fadeInTitle(e:Event):void {
Title.gotoAndPlay("fadeIn");
Stars.removeEventListener("fadeInTitle",_fadeInTitle);
}
stop();
그 SWF 혼자 완벽하게 작동한다 : 여기
은 기본 타임 라인에 사용되는 액션 스크립트의 샘플입니다. 이 SWF를 다른 SWF로로드하려고하면 문제가 발생합니다. 로더가 SWF를 반복해서 다시로드하고 오버랩하여로드 된 SWF의 기본 타임 라인에있는 액션 스크립트가 무시되면 타임 라인이 계속 재생됩니다. 다음은 SWF를로드하는 데 사용하는 코드입니다.import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
function startLoad(){
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("Fly.swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.load(mRequest);
}
function onCompleteHandler(loadEvent:Event){
addChild(loadEvent.target.content);
}
function onProgressHandler(mProgress:ProgressEvent){
var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
}
startLoad();
거기에는 특별한 것이 없습니다. 그냥 간단한 로더.
하나의 메인 무비 클립에 전체 애니메이션을 넣고 기본 타임 라인 (하나의 키 프레임, 하나의 레이어, 액션 스크립트 없음)에 무비 클립을 놓은 다음로드하십시오. 그렇게하면 잘 작동하지만 해결책보다는 패치와 같은 느낌이 듭니다. 난 정말 왜 당신이 여러 레이어, keyframes 및 actionscript 메인 타임 라인을 사용하여 외부 SWF를로드하려고 할 때 괴롭 히고 싶습니다.
도움/의견을 보내 주시면 대단히 감사하겠습니다.
읽어 주셔서 감사합니다.
m
startLoad()에 중단 점을 넣으려고 한 번만 호출 했습니까? – Kai