Unity事例ノート

UNITY

パスワード付きドアの作成

パスワードを入力すれば開くドアを作成してみましょう。

プレーヤーがドアに触れたら、入力フィールドが出現。

パスワードが合致するとドアが開き、1秒後に閉まります。

関連記事:
【Unity C#】触れると開くドア
【Unity C#】かんたんなパスワード機能を実装する
【Unity C#】オブジェクトをクリックすると入力フィールド表示





ドア側のスクリプト

PlaneとCubeを作成し、Cubeの位置とサイズを変更します。

Cubeの名前をDoorに変更し、色をつけます。

シーンビューではこのように配置されています。

空のオブジェクトを作成します。

GameObjectをDoorManageという名前に変更。

位置を1にして、Doorに右端まで持ってきます。

DoorManageの位置は、このように右端に配置されています。

DoorManageの中にDoorを入れて、親子関係をつくります。

DoorOpen.csを作成し、DoorManageに追加します。

DoorOpen.csを記述します。

入力フィールドの作成

入力フィールドを作成します。

UI > InputField

InputFieldの位置を変更し、中央下に配置します。

ゲームビューではこのように配置されています。

プレーヤー側のスクリプト

次に、プレーヤーとしてCubeを作成して、位置を変更します。

判別しやすいように、Cubeに色をつけます。

Cubeにリジッドボディを追加します。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

InputFieldを扱いますので、4行目 using UnityEngine.UI; を忘れずに書いておきましょう。

各フィールドに、それぞれオブジェクトを入れます。

inputFieldはテキスト入力に使用。

fieldObjectは入力フィールドの表示、非表示のために使用します。

入力フィールドの設定

続いて、InputPass()を実行するために、入力フィールドの設定を行います。

InputFieldを選択し、入力完了時の項目を、以下のような手順で設定します。

これで、テキストを入力してEnterを押したタイミングで、CubeMove.csのInputPass()が実行されます。

ゲームプレイしてみましょう。

扉に触れたら、パスワード入力欄が出現。

パスワード1234を入力してEnterを押せば扉が開き、1秒後に閉まります。

関連記事:
【Unity C#】触れると開くドア
【Unity C#】かんたんなパスワード機能を実装する
【Unity C#】オブジェクトをクリックすると入力フィールド表示