これはロールオーバー時にアニメーションさせるのに使います。
ロールアウト時には逆モーションのアニメーションをしてくれるので
便利です。
ベースは野中さんの非公式テクニカルノートです。
それを簡単に関数化してます。

// ---------------------------------------------
// アニメーション関数
// 定義:animationMOV(true,this._target);
// 引数:CH | false:逆再生true:再生
// OBJ | MCへの絶対パス(this._targetで取得)
// 戻り値:無し
// ---------------------------------------------
function animationMOV(CH,OBJ) {
// アニメーション制御
eval(OBJ).onEnterFrame=function() {
if (CH && (this._currentframe < this._totalframes)) {
this.gotoAndStop(this._currentframe +1);
if (this._currentframe == this._totalframes) {
delete this.onEnterFrame;
}
}
else if (!CH and (this._currentframe > 0)) {
this.gotoAndStop(this._currentframe -1);
if (this._currentframe == 1) {
delete this.onEnterFrame;
}
}
}
}

参考:ロールアウトで逆戻りするアニメーション


Comments

お行儀悪くてすいません =) こんなのどうですか?
onClipEvent (load) { stop(); }
on (rollOver) { onEnterFrame = nextFrame; }
on (rollOut) { onEnterFrame = prevFrame; }

Posted by: key at June 27, 2004 04:47 PM

なるほど、こういった方法もあるのですね。
まぁ、このanimationMOV()は他のMCから
もアニメーションを実行出来るようにしている
ので汎用性があるかなぁ〜と。

keyさんの方法は勉強になります、はい。

メモメモ。

Posted by: rakeem at June 27, 2004 09:11 PM

onClipEvent (load) { stop(); }
on (rollOver) { onEnterFrame = nextFrame; }
on (rollOut) { onEnterFrame = prevFrame; }

僕の中でヘルプとおりにnextFrame()、prevFrame()に()を
つけないといけないと思っていたのですが
こう言った方法だと付けたら駄目なんですね。
うーん、イベントハンドラの書き方が僕は
onEnterFrame=function() {
}
この書き方以外はあまりした事が無いので
難しい・・・。
onEnterFrameはrollOutしたらイベントハンドラ
はdeleteされるのかなぁ。
謎だ、調べようっと。

Posted by: rakeem at June 29, 2004 05:43 PM
Post a comment









Remember personal info?