[as2]프리로더(메인swf+로드무비 swf들을 재생전 로딩시키기)
흰추위
일단 전체 디자인한 page01.swf가 있습니다.
그 안에는 A. swf, B.swf등 고용량의 모션 플래시가 loadmovie를 이용하여 각각 불려드려집니다.
index.swf를 만드는데요.
이 index.swf는 프리로더를 할 파일이지요.
즉,index.swf는 프리로더 무비클립만 존재합니다.
index.swf 시작과 동시에 프리로더가page01.swf, A.swf , B.swf이 세개의 파일을 로딩 한 후! (재생이라는 로딩이 아니라 파일을 다운받다라는 의미) 그 다음에 page01.swf가 플레이 되는 형식입니다.
간단히 말해 index.swf에서 미리 모든 swf 파일들을 다운받은 후에 재생이 되게 하려는 의도입니다.
여러가지 방법을 찾아보기도 했습니다.
그중에 해외 사이트의 가장 근접한 소스가 있었습니다.
index.swf의 첫프레임의 프리로더라는 무비클립 선택만 하고 F9를 눌러입력되어진 소스입니다.
onClipEvent (load) {
loadMovieNum (page01.swf, 1);
loadMovieNum (A.swf, 2);
loadMovieNum (B.swf, 3);
}
onClipEvent (enterFrame) {
Total = Math.floor(_level1.getBytesTotal()/1000)+(_level2.getBytesTotal()/1000)+(_level3.getBytesTotal()/1000)+(_root.getBytesTotal()/1000);
Loaded = Math.floor(_level1.getBytesLoaded()/1000)+(_level2.getBytesLoaded()/1000)+(_level3.getBytesLoaded()/1000)+(_root.getBytesLoaded()/1000);
Percent = Math.floor((Loaded/Total)*100);
_root.lds.display2 = int(Loaded)+ KB + | +(Total)+ KB+ | +(Percent)+ %;
if (Percent == 100) {
//_level1.gotoAndStop(1);
//_level2.gotoAndStop(1);
//_level3.gotoAndStop(1);
//_root.play();
}
}보시면 아시겠지만, 어떻게 보면 맞긴한데 문제는
loadMovieNum (page01.swf, 1);
loadMovieNum (A.swf, 2);
loadMovieNum (B.swf, 3);
시작과 동시에 저 무비들은 다운되어지면서 재생되고 있습니다.
즉, 세개의 swf 파일이 동시에 실행되어지면서 로딩이 되는데, 로딩중에는 음성과 영상이 뒤죽박죽입니다.
그러다가 로딩이 완료되면 처리를 하게 되지요.(지금은 주석으로 처리한 부분입니다.)
그냥 index.swf에서 프리로더만 보이고 저 세개의 파일을 일단 다운로드하는 것이죠. 재생이 아니라
그 과정은 프리로더의 상태창으로 보여주려는 것이구요.
그리고 모든 3개의 파일이 자신의 컴에 다운로드 되어서 재생시 다음부터 별다른 다운로드없이 바로 재생시키려는 겁니다.
절대! 절대로 로딩중에는 그 어떤 파일도 재생되어서는 안됩니다. 보여서도 안되구요. 진짜 말 그대로
다~ 로딩이 되어진 후에야 시작되야 합니다.
단순히 visible로 막기엔 로딩이란 자체는 쓸모없어집니다.
플생사모에서도 검색해보고, 야웅도 검색해보고, 지식인 등 심지어 해외 사이트까지 뒤져가면서 해봤지만 마땅한게 없네요 ㅎㅎ
그나마 2.0으로 나온거 해외에서 찾긴했는데 영 파악하기 힘드네요 ㅠㅠ
http://www.gotoandlearnforum.com/viewtopic.php?f=7&t=12838이번에도 플생사모의 힘을 받고자 왔습니다.
부탁드려요~
-
참
답변 감사합니다. ㅎㅎㅎㅎ
그냥 꽁수 써서 해야할듯해요. 2.0에서는 구현하기가 너무 힘드네요 ㅠㅠ