スポンサーリンク
スポンサーリンク
UnityUnityメモ

Unityでテキスト入力できるようにする方法

Unity

この記事では、UnityのInputFieldコンポーネントを用いてテキスト入力を実装する基本的な方法について、初心者の方にもわかりやすく説明します。

UnityのInputFieldとは

UnityのInputFieldは、ユーザーがテキストを入力できるUI要素です。フォームやチャットウィンドウなど、ユーザーの入力が必要な場面で幅広く使われます。InputFieldを使うことで、キーボードやスクリーンキーボードからの入力を簡単に受け取れます。

InputFieldの設定

InputFieldを設定するには、まずUnityエディタで新しいUI要素としてInputFieldを追加します。「Hierarchy」ウィンドウで右クリックし、「UI」→「InputField」を選択することで簡単に行えます。

設定可能なオプションは多いですが、基本となるのは以下の項目です:

  • Text:現在のテキストを表示します。
  • Placeholder:入力欄が空のときに表示されるガイドテキストです。
  • Character Limit:入力できる文字数の上限を設定します。

これらのオプションを適切に設定することで、入力欄をカスタマイズできます。

テキスト入力の処理

ユーザーからの入力をプログラムで扱うためには、InputFieldのイベントを利用します。最も一般的なのは、「On Value Changed」イベントです。このイベントはテキストが変更されるたびに発生し、新しいテキスト値を取得できます。

以下は、InputFieldのテキストが変更されたときにコンソールに表示する簡単な例です:

public void OnInputFieldChanged(string newText) 
{
    Debug.Log("新しいテキスト: " + newText);
}

この関数をInputFieldの「On Value Changed」イベントにアタッチすることで、テキストが変更されるたびに新しいテキストがコンソールに表示されます。

ボタンを押して入力したテキストを表示させる

ステップ1: ボタンの設置

UI要素としてボタンを追加します。これも「Hierarchy」ウィンドウで右クリックし、「UI」→「Button」を選択して追加します。ボタンも適切に配置し、必要に応じてラベルを設定します。

ステップ2: テキストオブジェクトの追加

入力されたテキストを表示するために、テキストオブジェクトを追加します。これは「Hierarchy」ウィンドウで右クリックし、「UI」→「Text」を選択して追加します。このテキストオブジェクトは、後でスクリプトから参照されるので、わかりやすい名前を付けておきましょう。

ステップ3: スクリプトの作成

Unityでは、C#スクリプトを使用してUIの動作を制御します。新しいスクリプトを作成し、以下のようなコードを記述します:

using UnityEngine;
using UnityEngine.UI;

public class DisplayText : MonoBehaviour
{
    public InputField inputField;
    public Text displayText;

    public void DisplayInputText()
    {
        displayText.text = inputField.text;
    }
}

このスクリプトでは、InputFieldとTextオブジェクトを公開変数として持ち、DisplayInputText メソッドでInputFieldからテキストを取得し、Textオブジェクトにそのテキストを設定しています。

ステップ5: スクリプトとUI要素の紐付け

スクリプトを作成したら、それをシーン内の空のGameObjectにアタッチします。その後、Inspectorウィンドウ内でInputFieldとTextオブジェクトをドラッグ&ドロップして、スクリプトの公開変数に割り当てます。

ステップ6: ボタンのイベント設定

最後に、ボタンにクリックイベントを設定します。ボタンを選択し、Inspectorウィンドウの「Button」コンポーネント内にある「On Click ()」セクションを見ます。そこに、先ほどのスクリプトを持つGameObjectをドラッグ&ドロップし、「No Function」から「DisplayText」→「DisplayInputText」を選択します。

InputTextに入力したテキストがボタンを押すと表示されます。

以上で、「ボタンを押してInputFieldに入力したテキストを表示させる」という機能の実装は完了です。

まとめ

UnityのInputFieldは、テキスト入力を必要とするアプリケーションやゲームにとって非常に便利なツールです。基本的な設定から、入力のバリデーションまで、この記事がUnityのInputFieldを使った開発の入門として役立つことを願っています。Unityでの開発は、こうした基本的なコンポーネントから始めることで、より複雑な機能へとステップアップしていけます。ぜひ、この知識を活用して素晴らしいアプリケーションを作ってみてください。

スポンサーリンク
C-BA memo
タイトルとURLをコピーしました