- ベストアンサー
FlashLite1.1でスロットゲーム2
- FlashLite1.1でスロットゲーム2の改良方法をご教授いただけませんか?
- フラグと変数を使用して、特定の組み合わせが揃った時にアクションを起こす方法について教えてください。
- 完成したスロットゲームをより洗練させるための助言をお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず if-else文 を加えれば簡単にできるでしょう。 --------------------------------------------- // r_mc1~3 内の全ての変数 name の値が同じであれば if (r_mc1/:name eq r_mc2/:name && r_mc2/:name eq r_mc3/:name) { trace("そろった!"); } --------------------------------------------- ↓変更(付け足し)↓ --------------------------------------------- // r_mc1~3 内の全ての変数 name の値が同じであって if (r_mc1/:name eq r_mc2/:name && r_mc2/:name eq r_mc3/:name) { // なおかつ r_mc1の変数 name の値が "bell" であれば if (r_mc1/:name eq "bell") { trace("ベル!"); }else if (r_mc1/:name eq "seven") { trace("7!"); } } --------------------------------------------- 以降,else if をどんどん付け足して行けばできます。 ダラダラした else if を避けたいという場合は, _root などに 「変数=値」(例: bell="ベル!") を用意しておいて eval関数 を使って ハッシュ的 アクセス参照をする方法もありますが。 「eval()| actionscriptリファレンス」 http://nsflash.com/action/action0081.html
お礼
ご回答頂き、ありがとうございます。 BlurFiltan様にはまたも助けられてしまい 申し訳ございません。 早速教えていただいた記述を試したところ確かに 各子役に対応したアクションを起こせました。 が、一つ問題が出てしまいました。 それは絵柄が揃わなかった時のアクションです。 今までは -------------------------------------------------- // r_mc1~3 内の全ての変数 name の値が同じであれば if (r_mc1/:name eq r_mc2/:name && r_mc2/:name eq r_mc3/:name) { trace("そろった!"); } else { gotoAndPlay("リスタート") } -------------------------------------------------- という感じでelseを使用して揃わなかった時 最初に戻す形でリプレイさせていました。 この時は、 (絵柄が揃った)に対しelseで(揃わなかった時)と判断させていたので うまくいったのでしょう。 しかし今回 -------------------------------------------------- if (r_mc1/:name eq r_mc2/:name && r_mc2/:name eq r_mc3/:name) { // なおかつ r_mc1の変数 name の値が "bell" であれば if (r_mc1/:name eq "bell") { trace(ベル); } else if (r_mc1/:name eq "seven") { trace(7); } else { gotoAndPlay("リスタート") } } -------------------------------------------------- にするとベルと7以外の絵柄が来た時に… と解釈されるのか上手く動作してくれません。 実際はelse ifでベル、BAR、オレンジ、7の4種類の絵柄を操作 しています。 これにelseを加えると、揃わなくてもなぜか第3リールで 止まった絵柄のおめでとうがでてしまいます。 長文になりましたが 再度ご確認いただけないでしょうか。 よろしくお願い致します。
補足
補足欄で失礼します。 あれからいろいろ弄っていたところ elseの位置が悪かったことに気づき、 直したところ完成いたしました! ので今回の質問についてはこれで〆させていただきます。 BlurFiltan様には感謝の気持ちでいっぱいです。 本当にありがとうございました!