• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:もう少しでは無いかと思うのですが・・・(長文です))

Flash8での画像切り替えがうまく動作しない問題について

このQ&Aのポイント
  • Flash8で仕事を始めて行っており、画像の切り替えに関する問題が発生しています。
  • 現在行っている作業内容として、3枚の画像と進む・戻るボタンがあり、ボタンを押すと画像が切り替わる処理を実装しています。
  • しかし、実際に動かしてみると画像が切り替わらずにループしてしまう状態です。ご意見やご指南があればお願いします。

質問者が選んだベストアンサー

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

ご質問にあるようなインスタンスがすでにあるものと仮定すると, 私の場合次のようにすると思います。 1フレームのみに全てがある場合(【図】↓のような状態)で, スクリプトをそのフレームに書く場合です。 -------------------------------------------------------- // だんだん現れるスピードの変数「spd」の値を設定(※可変) var spd:Number = 5; // MCを参照する配列「weddingArr」の作成(※各要素や要素数は可変) var weddingArr:Array = new Array(); weddingArr[0] = weddingA_mc; weddingArr[1] = weddingB_mc; weddingArr[2] = weddingC_mc; // ---以上が変える設定------------------- // ---以下は変える必要なし---------------- // カウント用変数 cnt の初期化 var cnt:Number = 0; // 配列「weddingArr」の要素の数だけループ for (var i:Number = 0; i<weddingArr.length; i++) { // 全 「wedding○_mc」 のアルファを 0 にする weddingArr[i]._alpha = 0; } // 最初の eddingA_mc のみ アルファ を 100 にする weddingArr[0]._alpha = 100; // フェードイン を開始させる関数 fadeIn の定義 function fadeIn(mc:MovieClip):Void { // 指定されたMCを最高深度に移動 mc.swapDepths(this.getNextHighestDepth()); // 指定されたMC のアルファ を 0 にする mc._alpha = 0; // // 指定されたMCに毎フレーム実行するイベントハンドラメソッドを定義 mc.onEnterFrame = function():Void { // 指定されたMCのアルファを spd ずつ加算 this._alpha += spd; // もし アルファ が 100 以上になれば if (this._alpha>=100) { // この毎フレーム実行するイベントハンドラメソッドを削除 delete this.onEnterFrame; } }; } // ボタン「next_btn」クリック時にするイベントハンドラメソッドを定義 next_btn.onRelease = function():Void { // もし カウント用変数 cnt が weddingArr の最終要素番号未満のとき if (cnt<weddingArr.length-1) { // カウント用変数 cnt に 1 を加算 cnt++; } else { // それ以外は カウント用変数 cnt を 0 にする cnt = 0; } // フェードイン を開始させる関数 fadeIn を実行 // 引数(次にフェードインさせるMC) fadeIn(weddingArr[cnt]); }; // ボタン「back_btn」クリック時にするイベントハンドラメソッドを定義 back_btn.onRelease = function():Void { // もし カウント用変数 cnt が 0 より大きいとき if (cnt>0) { // カウント用変数 cnt から1 を減算 cnt--; } else { // それ以外は カウント用変数 cnt を weddingArr の最終要素番号 にする cnt = weddingArr.length-1; } // フェードイン を開始させる関数 fadeIn を実行 // 引数(次にフェードインさせるMC) fadeIn(weddingArr[cnt]); }; -----------------------------------------------------  

jitorow
質問者

お礼

画面からボタンを独立させると動きました!! 丁寧なご説明、本当に感謝いたします 有難うございましたっ!!!

jitorow
質問者

補足

ご回答誠に有難うございます。 早速実行をしてみましたが、変化が見れず・・でした。 行った内容をご説明させていただきますと ***************************************************** (1)タイムラインに一番初めのところに「weddingC_mc」を 貼り付けシンボルの変換でムービークリップへ インスタンス名を「weddingC_mc」 (2)ボタンを画像の両端へそれぞれ配置、右側が「next_btn」 左側に「back_btn」を置き、両方シンボルに変換にて 【ビットマップ】から【ボタン】へ変えインスタンス名を 「next_btn」「back_btn」に変更しました。 (3)次に「weddingC_mc」に重ねるように「weddingB_mc」を乗せて 上記と同じくシンボルの変換を行いインスタンス名も変更 (4)ボタンを「ライブラリ」のところからドラッグして 「weddingB_mc」に貼り付けました。 その際に「いくつかのライブラリアイテムがすでにドキュメント内 に存在してます」と警告されますが「概存のアイテムを置き換えない」 を選択して乗せました。 (5)後は(3)と(4)を繰り返しました (6)レイヤーの挿入にて新規レイヤーを作りBlurFiltan様に 書いていただきましたActionScriptを記述いたしまして 「制御」→「ムービープレビュー」で実行 *************************************************** と行いました。 どの手順がマズイでしょうか?? お忙しいとは思いますが、ご返答の程宜しくお願いいたします。

関連するQ&A

専門家に質問してみよう