Unity事例ノート

UNITY

かんたんなパスワード機能を実装する

入力フィールド(InputField)を使えば、ゲーム画面で入力をすることができます。

かんたんなパスワード機能を実装しましょう。

InputFieldに「1234」と入力してEnterキーを押すと、Cubeが消える仕組みをつくってみます。

関連記事:
【Unity C#】パスワード付きドアの作成
【Unity C#】入力テキストを順番に配列に入れる

InputFieldを使った入力エリア

ヒエラルキー > UI > 入力フィールド(InputField) を作成しましょう。

Canvasの下に、InputFieldができています。

座標をかえて、Cubeオブジェクトの近くに配置しました。

続いて、ヒエラルキ > 空のオブジェクトを作成しましょう。

GameObjectが表示されます。

スクリプトを2つ作ります。

CubeAppareと、InputTextという名前で作成します。

CubeAppareは、Cubeに追加します。

InputTextは、GameObjectに追加します。

InputFieldのテキストを取得

まずは、CubeAppareからスクリプトを書いていきましょう。

これはCubeを表示、非表示させるためだけのコードです。

スタートのときは表示していて、パスワードが合っていれば、消える仕組みをつくります。

次に、InputTextのスクリプトを書きましょう。

InputFieldの入力と、1234の文字列が合致すれば、CubeHideメソッドを実行します。

GameObjectのインスペクターに、InputFieldオブジェクトを入れましょう。

InputFieldの入力設定

InputFieldのオブジェクトを選び、インスペクターの下のほうを確認します。

「入力完了時」の項目で、「+」マークから設定を追加しましょう。

「入力完了時」はテキスト入力してEnterを押したときに実行されます。

ちなみに「値の変化時」はテキスト入力している間、ずっと実行されます。

RuntimeOnlyの下の項目は、GameObjectを選びます。

右側の項目は、InputText > SetText()を選びましょう。

プレイして、パスワード1234を入力し、Enterキーを押してみましょう。

Cubeが消えればOKです。

試しに、間違ったパスワードも入力して、表示を確認しておきましょう。

このように、InputFieldに入れた情報を変数で取得し、文字列として比較するしくみを作っています。

関連記事:
【Unity C#】パスワード付きドアの作成
【Unity C#】入力テキストを順番に配列に入れる