• 締切
  • すぐに回答を!

flash cs3のアクションスクリプトに関する質問です。

  • 質問No.5620258
  • 閲覧数91
  • ありがとう数4
  • 回答数1

お礼率 100% (2/2)

flash cs3のアクションスクリプトに関する質問です。

ActionScript2.0を使っています。
現在ゲームを作っていますが次の場面で分からないことがあります。
3つの項目からそれぞれ1つずつ答えを選んでもらい「決定」のボタンを押すと答えによって次に再生するレイヤーを変えたいのですがうまくいきません。
具体的には

【A】【1】【あ】
【B】【2】【い】
【C】【3】【う】
【決定】
というボタンがあり、例えば【A】【1】【あ】と選んで【決定】を押すと、「レイヤーA」「レイヤー1」「レイヤーあ」が再生されるようにしたいのですが

【A】のボタンのアクションには
on (release) {a=1}
と書きました

上と同様にほかの【B】は{a=2}、【C】は{a=3}、【1】から【3】の項目については{b=1}のように【あ】の項目についても{c=}
【決定】のボタンのアクションには
on (release) {
if (a==1) {gotoAndPlay(フレーム1の名前);
}

~同様にそれぞれ(a==2)以下が続きます。~

}

と書きました。

シンタックスチェックでは間違いは見つかりませんでしたがシーンプレビューでは決定ボタンを押しても反応がありません。

はじめたばかりで何かが足りていないのか、根本的に間違っているのかもわからない状態です。
回答よろしくお願いします。

上記のこと以外で伝えたほうがいいことがありましたら教えてください。

回答 (全1件)

  • 回答No.1

ベストアンサー率 65% (189/287)

レイヤーはFlashでのオーサリングの時だけあるもので
swfになったらなくなるもんです


フレーム番号で3次配列でも作って
gotoAndPlay(arr[a][b][c])
とでもやる感じでしょうか

しかし選択のパターンが27もあるなら
行き先のフレームをn+0~26に
それぞれにムービークリップを配置
abcの値の範囲を0~2にして
決定ボタンで実行するのは
gotoAndStop(n+a*9+b*3+c)
とやったほうがスクリプト書くのは
効率が良さそうに思います

27個もパターン用意するのに比べたら
へでもないことかもしれないですが

あと、先に言っておくと
ムービークリップにムービークリップを
内包させて多次元配列の代わりにするような
方法はあんまり良くないです

それから選択まえに決定が押されるのを
防ぐのにabcの初期値を-1にしておいて
決定ボタンのスクリプトの最初に
if(a<0||b<0||c<0)return;
でもつけといた方がいいかもです
お礼コメント
ymmtk36

お礼率 100% (2/2)

返事が遅くなってすみませんでした。
詳しい回答どうもありがとうございました。
フラッシュについてもう少し勉強してから挑戦しようと思います。
投稿日時:2010/02/09 19:17
関連するQ&A

ピックアップ

ページ先頭へ