Unity 4.6の新GUIをC#で利用する (2/5)
作成:2014-09-27 10:17
更新:2014-09-27 10:17
更新:2014-09-27 10:17
■スクリプトを用意する
では、スクリプトを用意しましょう。<Assets>メニューの<Create>から<C# Script>を選んでC#のソースコードファイルを作成しましょう。ここでは名前を「GuiObj」としておきます。
作成したら、MonoDevelopを起動し、下のリスト欄のようにリストを記述しておきます。まだ具体的な処理はありませんが、GUIを利用するために必要な変数と関数を用意しておきました。
●スクリプトを組み込む
作成したスクリプトをゲームオブジェクトに組み込みます。今回は、Canvasに追加しておくことにしましょう。シーンに配置したCanvasを選択し、<Component>メニューの<Scripts>内から<Gui Obj>を選びます。これで、GuiObjがコンポーネントとしてCanvasに組み込まれました。
●変数にGUI部品を設定する
続いてCanvasを選択し、インスペクターから「GuiObj」コンポーネントの設定を見てみましょう。スクリプトに用意した変数「Message Text」「field」という項目が表示されます。ここに、作成したmessageTextとInputFieldをそれぞれ設定して下さい。これで、スクリプト内から、これらの変数を通じてGUIにアクセスできるようになります。
●UIパッケージについて
作成したスクリプトでは、まず「using UnityEngine.UI;」というusing文が追加されているのに気がつきます。このUnityEngine.UIというパッケージが、新GUI関係のクラスをまとめているところです。GUIをC#から操作するには、このパッケージをusingしておく必要があります。
●UIオブジェクトについて
今回作成したGuiObjクラスには、2つのフィールドが用意されていました。以下のものですね。
作成したら、MonoDevelopを起動し、下のリスト欄のようにリストを記述しておきます。まだ具体的な処理はありませんが、GUIを利用するために必要な変数と関数を用意しておきました。
●スクリプトを組み込む
作成したスクリプトをゲームオブジェクトに組み込みます。今回は、Canvasに追加しておくことにしましょう。シーンに配置したCanvasを選択し、<Component>メニューの<Scripts>内から<Gui Obj>を選びます。これで、GuiObjがコンポーネントとしてCanvasに組み込まれました。
●変数にGUI部品を設定する
続いてCanvasを選択し、インスペクターから「GuiObj」コンポーネントの設定を見てみましょう。スクリプトに用意した変数「Message Text」「field」という項目が表示されます。ここに、作成したmessageTextとInputFieldをそれぞれ設定して下さい。これで、スクリプト内から、これらの変数を通じてGUIにアクセスできるようになります。
●UIパッケージについて
作成したスクリプトでは、まず「using UnityEngine.UI;」というusing文が追加されているのに気がつきます。このUnityEngine.UIというパッケージが、新GUI関係のクラスをまとめているところです。GUIをC#から操作するには、このパッケージをusingしておく必要があります。
●UIオブジェクトについて
今回作成したGuiObjクラスには、2つのフィールドが用意されていました。以下のものですね。
public Text msgText;これらの変数に、GUI部品のmsgTextとInputFieldが設定されます。このように、GUIは「Text」「InputField」というように、GUIの名前そのままのクラスとしてC#に用意されています。これらのフィールドのインスタンスにアクセスすることで、GUIの属性や入力情報などを利用できるようになっているのです。
public InputField field;
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
using UnityEngine; using UnityEngine.UI; using System.Collections; public class GuiObj : MonoBehaviour { public Text msgText; public InputField field; void Start () { } void Update () { } public void Button1Click () { } }
※関連コンテンツ