• 締切済み

actionscript3.0でロールアウトすると逆再生するアニメーション

actionscript初心者です。 actionscript3.0でロールアウトするとアニメーションが逆再生するボタンを作成したいのですが、 http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000212.html 参考にしながら作っているのですがうまくいきません。 誰がわかる方いらっしゃいますでしょうか。 よろしくお願いします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> 参考にしながら作っているのですがうまくいきません。 何がどううまく行かないのか具体的にわかりませんが。。。 わからないので,通しで 『マウスオーバーすると自転車内タイムラインの再生が開始され マウスアウトすると自転車内タイムラインが逆再生されるボタン』 の作成手順例を書いてみます。 ステージ上に自転車の絵を描いてムービークリップに変換し, そのムービークリップの中で「車輪が回る」だけのアニメーションを作成します。 (ムービークリップ内で車輪をグラフィックシンボルに変換してそれをモーショントゥイーンで回転させる) その自転車の車輪が内部で回転するだけのムービークリップに 「bicycle」 というインスタンス名を付けます。 その「bicycle」とは別に, メインのタイムラインにボタンを1つ作成してそのボタンに 「startButton」 というインスタンス名を付けます。  ・階層構造  シーン1などメインのタイムライン     ├bicycle(ムービークリップ)     │  ├自転車本体     │  ├前車輪(モーショントゥイーンで回転)     │  └後車輪(モーショントゥイーンで回転)     └startButton(ボタン) そしてメインのタイムラインのフレームに次のようなスクリプトを書きます。 -------------------------------- //ムービークリップbicycle内タイムラインの再生を停止 bicycle.stop(); //bicycle内タイムラインを逆再生させる関数を定義 function everyFrame(event:Event):void { if (bicycle.currentFrame == 1) { bicycle.gotoAndStop(bicycle.totalFrames); } else { bicycle.prevFrame(); } } //関数everyFrameを毎フレーム実行させるようにする関数を定義 function backAnimation(event:MouseEvent):void { bicycle.addEventListener(Event.ENTER_FRAME, everyFrame); } //bicycle内タイムラインの再生を開始する関数を定義 function playAnimation(event:MouseEvent):void { //bicycleに登録した毎フレーム時間実行させるリスナーを削除 bicycle.removeEventListener(Event.ENTER_FRAME, everyFrame); bicycle.play(); } //ボタンマウスオーバー時のリスナーとしてplayAnimationを登録 startButton.addEventListener(MouseEvent.MOUSE_OVER, playAnimation); //ボタンマウスアウト時のリスナーとしてbackAnimationを登録 startButton.addEventListener(MouseEvent.MOUSE_OUT, backAnimation); -------------------------------- 以上のような感じで作成できます。  

unbornbaby
質問者

お礼

画像付きで丁寧にお答えしていただき、 ありがとうございました。 解決いたしました。