sequence 에 해당하는 글1 개
2007/10/16   Loader dealing with multiple threads (1)

flash/As3.0 | 2007/10/16 21:17

as3.0에서 여래개의 이미지파일을 외부에서 로드하려면 일반적으로 flash 에서 기본적으로 제공하는 Loader 클래스를 반복적으로 사용하여 처리를 해야하는데 . 이를 위해  다수의 파일을 순차적 또는 한꺼번에 로드할 수 있는 좀더 통합적인 리소스 관리가 가능한 시퀀스 로더를 제작해 보았다.

본 클래스는  ASAP를 사용하여 제작한 loader 클래스를  AS3.0 버전으로 마이그레이션(migration)한 것이다.
ASAP는 AS2.0 버전으로는 몇개 안되는 flash framework 중에 하나이다. 현재 전체적으로 AS3.0 버전으로 마이그레이션 중인 것 같다. 개인적인 생각으로는 코드자체가 방대하여 사용하기엔 좀 부담스럽지만 각각의 클래스와 클래스간의 연결고리, 이벤트처리와 같은 복합적인 내용들을 참고할 수 있어 유용한 부분이 있을 것이다.
(ASAP  as3.0 버전 SVN  http://asaplibrary.googlecode.com/svn/)




<sample code>

import com.dstrict.ub.utils.loader.*;
import com.dstrict.ub.events.*;

var loader:LoaderSequencer = new LoaderSequencer(1);
loader.addEventListener(LoaderEvent.START, onLoadStart);
loader.addEventListener(LoaderEvent.ALL_LOADED, onAllLoadFinished);
loader.addEventListener(LoaderEvent.COMPLETE, onLoadDone);
loader.addEventListener(LoaderEvent.PROGRESS, onLoadProgress);
loader.addEventListener(LoaderEvent.ERROR, onIOError);

//아래와 같이 load 메서드를 사용하여 다수의 파일을 로더에 등록할 수 있다.
// loader.load(fileUrl,fileName)

loader.load("image1.jpg","1");
loader.load("image2.jpg","2");
loader.load("image3.jpg","3");
loader.load("image4.jpg","4");

function onLoadStart(evt:LoaderEvent):void{
//LoaderEvent  이벤트 오브젝트 속성인 fileName 으로 load 메서드의 fileName과 동일
 trace(evt.toString()+"-------->start : "+evt.fileName);
}

function onLoadDone(evt:LoaderEvent):void{
  this["container"+evt.fileName].addChild(evt.loader.content);
 
}
function onAllLoadFinished(evt:LoaderEvent):void{
 trace(evt.toString()+"-------->onAllLoadFinished");
}
function onLoadProgress(evt:LoaderEvent):void{
 trace(evt.toString()+"-------->progress : "+evt.bytesLoaded +" : "+evt.bytesTotal);
}
function onIOError(evt:LoaderEvent):void{
 trace(evt.toString()+"-------->"+evt.message)
}


view source code

download sample files...


 
 
태그 : , , , , ,
이 글의 관련글(트랙백) 주소 :: http://kimkijeung.com/trackback/103
카일캐턴 2007/10/22 16:52 ReplyDelete
잘 쓰겠습니다 ^^
늘 감사합니다

Name 
Password 
Homepage 
  secret
Comment 
  글쓰기


[PREV] [1] [NEXT]

 
전체 (105)
flash (74)
math&physics (4)
programming (11)
Flex2 (1)
Mac (2)
photo (0)
project (6)
주저리주저리 (3)
유용한 자료들 (1)
diary (0)
Book (1)
web (2)
«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31