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(); }