Flashムービーを逆再生するのを作ってみた。

2時ごろ思いついて作り始めたけど時間切れなので公開。



swfファイル

flaファイル

Reverseというクラスが全て制御してて、Buttonを押したら

on(press){

Reverse.reversePlay(movieClip);

}

が呼ばれて、movieClipの内容が逆再生する。



*逆再生できるようにしたので追記。せっかくなので貼ってみる。

/—————–1フレーム目——————-/

/**

指定したMovieClipを逆再生するクラス。

setRoop(boolean) でループするか指定。

reversePlay(movieClip) でループ開始。

**/

this.stop();

var mov; // 逆再生されるMovieClip

isRoop = new Boolean(); // ループするかどうか

function setRoop(r){

this.roop = r;

}

/** MovieClip mov を逆再生する **/

function reversePlay(m){

this.mov = m;

trace(“reversePlay()”);

if(mov._currentframe == 1) mov.gotoAndStop(mov._totalframes); // movを最後のフレームへ

else this.gotoAndPlay(2);

}

/** MovieClip mov の逆再生を止める **/

function reverseStop(){

this.gotoAndStop(1); // 逆再生終了

}

/** reversePlay(movieClip)から呼ばれる関数

1フレームだけmovieClipを巻き戻す **/

function reverseOneFrame(){

trace(“reverseOneFrame()”);

if(mov._currentframe > 1){

trace(mov._currentframe + “フレーム目”);

mov.prevFrame(); // 1フレーム戻して停止

this.gotoAndPlay(2); // 3フレーム目で再帰

}

else if(mov._currentframe == 1 && this.isRoop){ // ループ指定時、ループする

mov.gotoAndStop(mov._totalframes); // 最後のフレームへ

gotoAndPlay(2);

}

else this.reverseStop(); // ループ指定が無い時、止まる

}

/—————–2フレーム目——————-/

// 空きフレーム

// 1,3フレーム目から飛んでくるだけのフレーム

/—————–3フレーム目——————-/

reverseOneFrame();