リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ 外部swfを指定順にロード

ActionScript

外部swfを指定順にロード

外部swfを指定順にロードさせる方法とフレームレートとマスクを設定し配置・撤去させるサンプル。



アクションスクリプト3.0



//---------------------------------------------------------------------------子swfロード用変数
var loader1:Loader = new Loader();//外部swf読み込み用ローダー
var loader2:Loader = new Loader();//外部swf読み込み用ローダー
var loader3:Loader = new Loader();//外部swf読み込み用ローダー
var loaderArr:Array = [loader1,loader2,loader3];

var load1_mc:MovieClip;//ムービークリップキャスト用
var load2_mc:MovieClip;//ムービークリップキャスト用
var load3_mc:MovieClip;//ムービークリップキャスト用
var load_mcArr:Array = [load1_mc,load2_mc,load3_mc];

var square1:Shape = new Shape();//マスク用シェイプ
var square2:Shape = new Shape();//マスク用シェイプ
var square3:Shape = new Shape();//マスク用シェイプ
var squArr:Array = [square1,square2,square3];

//読み込む順番にswfURLを記述
var urlArray:Array = ["sample_a.swf","sample_b.swf","sample_c.swf"];//swfURL
var flagLoadArr:Array = ["---","---","---"];//「読み込み完了」
var cntXXX:int = 0;//ローディング用カウンタ

const _haba:int = 500;//ステージ横幅
const _takasa:int = 400;//ステージ高さ

//---------------------------------------------------------------------------子swfロード
funcYomikomiKaishi();//順番にロード実行

function funcYomikomiKaishi(){
	loaderArr[cntXXX].contentLoaderInfo.addEventListener(Event.OPEN, funcStartLoad);//ロード開始
	loaderArr[cntXXX].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, funcError);//ロード失敗
	loaderArr[cntXXX].contentLoaderInfo.addEventListener(Event.COMPLETE, funcComp);//ロード完了
	loaderArr[cntXXX].load(new URLRequest(urlArray[cntXXX]));//ロード実行
}

//ロード開始
function funcStartLoad(e:Event):void{
}

//ロード失敗
function funcError(e:IOErrorEvent):void{
}

//ロード完了
function funcComp(e:Event):void{
	flagLoadArr[cntXXX] = "読み込み完了";
	
	//全て読み込まれていなければ次のファイル読み込み実行
	if(flagLoadArr[flagLoadArr.length-1] != "読み込み完了"){
		cntXXX += 1;
		funcYomikomiKaishi();
	}else{
		trace("全ファイル読み込み完了、ロード読み込み処理を終了します");
	}
}

//---------------------------------------------------------------------------子swf配置
funcHaichi(0);//子swf(1番目)配置させる場合

function funcHaichi(a:int){
	var info1:LoaderInfo = LoaderInfo(loaderArr[a].contentLoaderInfo);
	stage.frameRate = info1.frameRate;//フレームレートセット
	
	//マスク用シェイプ
	squArr[a].graphics.beginFill(0xff0000);
	squArr[a].graphics.drawRect(0, 0, _haba, _takasa);
	squArr[a].graphics.endFill();
	addChild(squArr[a]);//注意! 表示リストに追加しないと拡大縮小しない!
	
	//ムービークリップ化
	load_mcArr[a] = MovieClip(loaderArr[a].content);//←記述があやしい
	addChildAt(load_mcArr[a],0);
	load_mcArr[a].mask = squArr[a];
	load_mcArr[a].funcConst();//子swfのfuncConst()実行
}

//---------------------------------------------------------------------------子swf撤去
funcRemove(2);//子swf(3番目)撤去させる場合

//撤去
function funcRemove(a:int){
	removeChild(load_mcArr[a]);
	removeChild(squArr[a]);
}




last update 2011.3.18
参考・出典等
「特に無し」

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2011 Riptac. All Rights Reserved.