アットウィキロゴ

ラベル内をループさせる(フレーム移動)


[記載日]2009/09/22
レイヤー1,2を作成し、11フレーム作成
各レイヤーの2フレーム目にキーフレームを挿入する
レイヤー1の2フレーム目にラベル「hoge」を指定する
各フレームの11フレーム目にキーフレームを挿入する
レイヤー2の11フレーム目に、以下のコードを記述する
this.gotoAndPlay("hoge");
●上記設定時のサンプル




重ね順を指定して動的にインスタンスを配置する


[記載日]2009/09/22
  • this.addChildAt(Loader, index);
インスタンスをスクリプトで動的に追加する際に、重ね順(深度)を指定する
var loader : Loader = new Loader();
loader .load(new URLRequest("hoge.swf"));
this.addChildAt(loader, 0);
  • 最背面に配置する場合
「index」に「0」を指定
  • 最前面に配置する場合
※this.addChild(Loader) でよい




ラベル内を一定時間停止後にループさせる

(ActionScript2.0 setInterval を 置き換える)


[記載日]2009/09/29
  • Timer
※「ラベル内をループさせる(フレーム移動)」の設定がすでにされている過程とする
レイヤー2の2フレーム目にキーフレームを追加し、以下のコードを記述する
//1.1~2秒間のランダムな値を代入
var waitTime = Math.floor(Math.random() * 1000) + 1000;

//2.waitTimeの時間後に1回だけ実行するタイマーインスタンスを生成
var timer : Timer = new Timer(waitTime, 1);

//3.指定時間に到達した際に、メソッドtimeoutを呼ぶイベントリスナーを登録
timer.addEventListener(TimerEvent.TIMER, timeout);

//4.タイマーのカウント開始
timer.start();

//5.現在のフレームで停止
this.stop();
function timeout( event : TimerEvent ) : void {
	
	//6.イベントリスナーを解除する
	timer.removeEventListener(TimerEvent.TIMER, timeout);
	
	//7.フレームを再生
	this.play();
}
(多分後から見てわかんなくなるから、無駄にコメント大量投入)




外部swfを呼び出す


[記載日]2009/09/30
  • addChild(Loader)
a.swfよりb.swfを呼び出す
以下のコードをa.swfのフレームアクションとして記述する
Loader loader : Loader = new Loader();
// ロード完了時にloadCompメソッドを呼び出すようイベントリスナーを追加
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, loadComp );
// b.swfをロードする
loader.load( new URLRequest( "b.swf" ) );

function loadComp( event : Event ) {
    // イベントリスナーの削除
    loader.contentLoaderInfo.removeEventListener( Event.COMPLETE, loadComp );
    // ステージにb.swfを追加
    this.addChild(loader);
}



外部swfを呼び出し、メソッドを呼び出す


[記載日]2009/09/30
  • Loader.content as MovieClip
「Loader.content」を使用し、Loaderクラスで読み込んだswfのrootにアクセスできる

a.swfよりb.swfを呼び出し、b.swfのフレームアクションを呼び出す
(b.swfの1フレーム目に以下のコードが設定されていると想定)
function calcAdd( a : int, b : int ) : int {
    return a + b;
}
a.swfの1フレーム目に以下のコードを記述する
var answerInt : int = -1;
Loader loader : Loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, loadComp );
loader.load( new URLRequest( "b.swf" ) );

function loadComp( event : Event ) {
    loader.contentLoaderInfo.removeEventListener( Event.COMPLETE, loadComp );
    this.addChild(loader);
    // b.swfのムービークリップを取得
    var bMovieClip = loader.content as MovieClip;
    // b.swfのcalcAddメソッドを使用
    answerIns = bMovieClip.calcAdd(1, 2);
    trace("Answer = " + answerIns);
}
※ロード完了イベントリスナーにてLoader.contentを使用して
 b.swfのムービークリップを取得すること
 (ロード完了後でないとb.swfのメソッドが使用できない為)




サウンドを再生


  • mp3を再生する
フレームアクションに以下のコードを記述
// Soundインスタンスを生成
var sound : Sound = new Sound();
// 読み込み開始
sound.load(new URLRequest("open.mp3"));
// サウンドを開始し、SoundChannelに格納
var soundChannel:SoundChannel = sound.play();
最終更新:2009年10月04日 21:02
添付ファイル