3月 1, 2009
CASAのLoadGroupは便利だぞ!
実は俺、ひそかにCASAを使ってるんだ。
といってもIntervalしか使ってない。
便利ってのは知ってるが、参考資料が少ない。
仕事で大量のMCをロードしてローディング状況を出すから、
こりゃCASAがないとやってらんない、と思って頑張って調べてみた。
大体みんなXMLとかでロード対象を突っ込むが、
XMLを読み込むさえめんどくさいから、
配列にした。超簡単。
//必要なものインポート
import org.casaframework.load.LoadGroup;
import org.casaframework.load.LoadManager;
import org.casaframework.load.media.MediaLoad;
import org.casaframework.math.Percent;
//ロードするものを配列に入れる
var McAarry:Array = ["content_1.swf","content_2.swf"];
function LoadStart():Void {
//Loadオブジェクトを作る
var myLoadGroup = new LoadGroup();
//配列の数でfor文
for ( var i:Number = 0; i
//ロードに必要な空MCを作る「 mc_1 , mc.2 」
var holder:MovieClip = this.createEmptyMovieClip("mc_"+i,getNextHighestDepth());
//「mc_1」に「content_1.swf」をロードする
myLoadGroup.addLoad( new MediaLoad ( this["mc_"+i] , McAarry[i] ) );
}
//完了時のイベントリスナーに登録
myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_COMPLETE, "onGroupLoadComplete");
//途中経過イベントリスナーに登録
myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_PERCENT, "onGroupLoadPercent");
//実行!!!!!!!
myLoadGroup.start();
}
function onGroupLoadPercent(sender:LoadGroup, progress:Percent):Void {
var per_num:Number = progress.getPercentage();
//パーセント表示
trace("My group is " + per_num + "% loaded.");
}
function onGroupLoadComplete(){
trace("全部ロード完了");
//完了したらこれを実行何かの関すを実行するとか。
Kansu();
}