暗号文を入力させるイベントを作る

暗証番号で開く扉を作る」では、イベントコマンド[数値入力の処理]を使って、数字による暗証番号で開く扉の作成例について解説しました。ここでは、そのアレンジバージョンとして、文字(ひらがな、カタカナ)による暗号文を入力すると開くように改良してみたいと思います。

文字入力はどうやるのか?

プレイヤーに文字入力をしてもらうためには、文字入力画面を表示する必要があるのですが、それはイベントコマンド[名前入力の処理]でしか表示させられません。ですので、この[名前入力の処理]を使用することになります。

次に、正しい文字を入力出来たか判断する必要がありますが、イベントコマンド[条件分岐]には、アクターの名前が指定した名前になっているかどうかを条件にする項目がありますので、これを使えば、正しい文字を入力出来ているか判断が出来そうです。

つまり、次のような流れで設定すれば、文字による暗号文を入力して扉が開くように出来ます。

  1. イベントコマンド[名前入力の処理]でアクターの名前を入力してもらう。
  2. イベントコマンド[条件分岐]で、アクターの名前が、作者が指定した名前(暗号文の正解)になっているかを判断する。
  3. 指定した名前になっていれば、扉を開く。

ただ、これで仕掛けを実現することは出来ますが、アクターの名前を変えられてしまうのは困った問題です。したがって、この問題の対策を考えないといけませんが、どうやれば良いのか気づきましたでしょうか?

その対策とは、「文字入力用のアクターを用意してしまう」ということです。こうすれば、どれだけアクターの名前を変えられようともゲーム中に登場するアクターではありませんから、まったく困ることはありません。


●文字入力用アクターなので、グラフィックや特徴などは設定する必要がない

あらためてまとめると、次のような流れで設定することになります。

  1. あらかじめ文字入力用のアクターを用意しておく。
  2. イベントコマンド[名前入力の処理]で、文字入力用のアクターの名前を入力してもらう。
  3. イベントコマンド[条件分岐]で、文字入力用のアクターの名前が、作者が指定した名前(暗号文の正解)になっているかを判断する。
  4. 指定した名前になっていれば、扉を開く。

イベント作成例

では、実際に扉イベントを設定してみましょう。

イベントコマンド[名前入力の処理]で、アクター「名前入力用」の名前を入力してもらい、その名前が「エンターブレイン」になっているかを[条件分岐]で判断して、「エンターブレイン」になっていれば扉を開くという設定です。

また、[名前入力の処理]で表示される名前入力画面では、変更対象となるアクターの名前が初期値として表示されますので、[名前入力の処理]の前にイベントコマンド[名前の変更]でアクター「名前入力用」の名前を「(なし)」にして、名前入力画面に「名前入力用」といったような文字が初期値として表示されてしまうのを防いでいます。

それ以外の設定については、「暗証番号で開く扉を作る」と同じですので、そちらを参照してください。

ゲーム画面


●扉の前で文字入力画面が開く


●プレイヤーが文字を入力する


●正しい文字を入力していると扉が開く