第15章では、大抵の脱出ゲームにて使用される、 パスワード入力装置について解説いたします。 パスワード入力装置と言いましても、実は色々な形式が存在します。 そこで、本章では、以下の3種類のパスワード入力装置に分類して、 それぞれについて説明していきます。 ●直接入力式装置 ●上下ボタン式装置 ●0〜9ボタン入力式装置 説明の都合上、正解のパスワードは全ての装置において「123」とします。 ●直接入力式装置 一番最初に解説するのは、キーボードにて直接パスが入力できる装置について解説します。 WANPA's STORE製のゲームでは、Makaimon's Searching2 for PCにおける、 パソコンのパスワード入力画面に利用されております。 実はこの装置、3種類の入力装置の中では最低限用意するパーツが一番少ないです。 要するに、一番楽に作れます。 最低限用意するパーツは、 「パスワードを入力するためのテキスト」「パスワードの判定に使うボタン」の2つだけ。 最初にテキストから作りましょう。アイテムの追加→テキストで追加してください。 このテキストのプロパティですが、 ・変数名:text_pass1 ・自動サイズ:チェックを外す ・テキスト入力:チェック入れる ・枠線:チェックを入れる ・選択可能:チェックを入れる ・複数行:チェックを外す として下さい。変数名は別にこの名前に固執することはないですが、 チェックボタンに関しては、この通りにしてください。 サイズ等は適宜決定しましょう。 パスワードの判定に使うボタン自体は、適当にボタンを作って配置してください。 ここでは、ok.pdrを作成して配置しました。 さて、ok.pdrをボタン化してアクションスクリプトを記述するわけですが、 一番のポイントは、配置したtext_pass1に入力した文字列が、 変数text_pass1で参照できるというところにあります。 つまり…
on (release){ if (text_pass1 == "123"){ [パスワードが正解だった場合の処理]; }else{ [パスワードが不正解だった場合の処理]; } }
number1 = 0; number2 = 0; number3 = 0; text_pass2_1 = number1; text_pass2_2 = number2; text_pass2_3 = number3;
on (release){ if (++number1 > 9){ number1 = 0; } text_pass2_1 = number1; _root.message = ""; _root.message_window.gotoAndPlay("switch"); }
on (release){ if ((number1 == 1) && (number2 == 2) && (number3 == 3)){ _root.message = "おお!正解みたいだね!!"; _root.message_window.gotoAndPlay("switch"); }else{ _root.message = "う〜ん… 間違いみたい…"; _root.message_window.gotoAndPlay("switch"); } }
number1 = "-"; number2 = "-"; number3 = "-"; text_pass3 = number1 + number2 + number3; keta = 1;
on (release){ if (keta == 1){ number1 = "1"; }else if(keta == 2){ number2 = "1"; }else{ number3 = "1"; } if (++keta > 4){ keta = 4; } text_pass3 = number1 + number2 + number3; _root.message = ""; _root.message_window.gotoAndPlay("switch"); }
on (release){ if(keta == 2){ number1 = "-"; }else if (keta == 3){ number2 = "-"; }else{ number3 = "-"; } if (--keta < 1){ keta = 1; } text_pass3 = number1 + number2 + number3; _root.message = ""; _root.message_window.gotoAndPlay("switch"); }
answer1 = int(Math.random() * 9) + 1; answer2 = int(Math.random() * 9) + 1; answer3 = int(Math.random() * 9) + 1;
on (release){ if ((number1 == answer1) && (number2 == answer2) && (number3 == answer3)){ [パスワードが正解だった場合の処理]; }else{ [パスワードが不正解だった場合の処理]; } }