これはロールオーバー時にアニメーションさせるのに使います。
ロールアウト時には逆モーションのアニメーションをしてくれるので
便利です。
ベースは野中さんの非公式テクニカルノートです。
それを簡単に関数化してます。
// ---------------------------------------------
// アニメーション関数
// 定義: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;
}
}
}
}
お行儀悪くてすいません =) こんなのどうですか?
onClipEvent (load) { stop(); }
on (rollOver) { onEnterFrame = nextFrame; }
on (rollOut) { onEnterFrame = prevFrame; }
なるほど、こういった方法もあるのですね。
まぁ、このanimationMOV()は他のMCから
もアニメーションを実行出来るようにしている
ので汎用性があるかなぁ〜と。
keyさんの方法は勉強になります、はい。
メモメモ。
Posted by: rakeem at June 27, 2004 09:11 PMonClipEvent (load) { stop(); }
on (rollOver) { onEnterFrame = nextFrame; }
on (rollOut) { onEnterFrame = prevFrame; }
僕の中でヘルプとおりにnextFrame()、prevFrame()に()を
つけないといけないと思っていたのですが
こう言った方法だと付けたら駄目なんですね。
うーん、イベントハンドラの書き方が僕は
onEnterFrame=function() {
}
この書き方以外はあまりした事が無いので
難しい・・・。
onEnterFrameはrollOutしたらイベントハンドラ
はdeleteされるのかなぁ。
謎だ、調べようっと。

簡単なアニメーション関数。