Unity事例ノート

UNITY

オブジェクトをクリックすると入力フィールド表示

前回の簡単なパスワード機能につづいて、今回は入力フィールド(InputField)の表示、非表示について見ていきましょう。

※このページをご覧になる前に、前回記事「簡単なパスワード機能をつくる」を制作してください。

→簡単なパスワード機能をつくる

Sphereをクリックすると、パスワード入力欄が表示され、パスワードが合っていれば、Cubeが消える。

関連記事:
パスワード付きドアの作成
かんたんなパスワード機能を実装する
入力テキストを順番に配列に入れる

InputFieldの表示と非表示

新しくSphereを作成し、Cubeと横並びにしました。

InputFieldがスタート時には消えていて、Sphereをクリックしたときに表示される仕組みをつくります。

GameObject(空のオブジェクト)に追加しているInputText.csを編集しています。

今回追加したコードには、コメントを入れています。

InputFieldオブジェクトは、GameObject.Findで取得。

スタート時は、SetActiveをfalseに。

新しくFieldActive()メソッドを作成し、これをSphereクリックのタイミングでtrueにします。

オブジェクトをクリックすれば表示

次はSphereのほうに、クリックのアクションをつけましょう。

新しくSphereClickというスクリプトを作成し、Sphereに追加しました。

SphereClick.csはこのように書きました。

FieldActive()メソッドを実行するタイミングは、左クリックしたときです。

他のスクリプトの関数を実行するのは、GetComponentを使用するんでしたね。

参照:【Unity C#】他のスクリプトの関数を実行する

プレイして、パスワード入力の流れを確認します。

Sphereをクリックで、入力フィールドが現れる。

パスワード「1234」を入れてEnterを押すと、Cubeが消えます。

関連記事:
パスワード付きドアの作成
かんたんなパスワード機能を実装する
入力テキストを順番に配列に入れる