관리 메뉴

nkdk의 세상

AS3.0의 활용 as 를 만든 후에 처리하기 본문

My Programing/ActionScript

AS3.0의 활용 as 를 만든 후에 처리하기

nkdk 2008. 3. 9. 22:26
package{

import flash.display.Loader;
import flash.display.DisplayObjectContainer;
import flash.events.ProgressEvent;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.DisplayObject;

public class CLoaderUI extends CLoadAni{
var pLoader:Loader = new Loader();
var pRequest:URLRequest = new URLRequest();
var pContainer:DisplayObjectContainer;

var pWidth:Number, pHeight:Number;
var pX:Number, pY:Number;

function CLoaderUI(mStage:DisplayObjectContainer, mURL:String, mWidth:Number,
mHeight:Number, mx:Number=0, mY:Number=0):void{
pContainer = mStage;
pX=mX;
pY=mY;
pWidth=mWidth;
pHeight=mHeight;

this.x=pX+mWidth/2;
this.y=pY+mHeight/2;

pRequest.url = mURL;
pLoader.load(pRequest);

pLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, fProcess);
pLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fComplete)
pContainer.addChild(this);
}
function fProcess(e:ProgressEvent):void{
var mPercent:Number= int(e.bytesLoaded/e.bytesTotal*100.0);
this.mText.text=mPrecent+"%";
}

function fComplete(e:Event):void
{
var mObject:DisplayObject = e.target.content;
mObject.width=pWidth;
mObject.height=pHeight;
mObject.x=pX;
mObject.y=pY;
pContainer.addChild(mObject);
pContainer.removeChild(this);
pLoader=null; // 더 이상 사용하지 않으면 null로 메모리 해제 유도함 가비지 컬렉터 가동
pConstainer=null;
pRequest=null;
}
}
}

자 이제 이걸 사용할 수 있게끔

Load_Ani.fla 를 만듭니다.

import CLoaderUI;
var mLoaderTest:CLoaderUI= new CLoaderUI(stage,"http://www.muticd.com/test.jpg",300,300,150,150);

다음과 같이 추가 해주시면 되겠습니다. ^^