UI Button コントロールのクリックイベントを実装する - ボタンをクリックしたタイミングでスクリプトを実行する
UI Button コントロールをクリックしたタイミングで処理を実行する方法を紹介します。
概要
UI Buttonコントロールがクリックされたタイミングで処理を実行したい場合、ボタンがクリックされたタイミングでスクリプトを実行する設定をします。この記事ではスクリプトの作成手順とボタンのクリックイベント発生時にスクリプトを実行させる設定手順を紹介します。
事前準備
こちらの記事を参照してUI Buttonコントロールを作成して配置します。
設定手順
C#スクリプトの作成
Unityのメインメニュー[アセット]の[作成]サブメニューの[C# スクリプト]の候もをクリックします。
ウィンドウ下部の[Assets]のウィンドウにC#のファイルのアイコンの要素が追加されます。名称が編集状態になっていますのでスクリプトの名前を入力して設定します。
今回は "ClickScript" の名称にします。
作成されたスクリプトのアイコンをダブルクリックします。Visual Studioが起動し下図のウィンドウが表示されます。
デフォルトの状態では下記のコードが記述されています。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClickScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
C#スクリプトの記述
下記のコードを追記します。
usingに UnityEditor を追記し、ButtonClickメソッドを実装します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class ClickScript : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void ButtonClick()
{
EditorApplication.Beep();
}
}
スクリプトをボタンに設定する
Unityに戻りUIボタンをクリックして選択します。右側の[インスペクター]ウィンドウを下にスクロールし、ウィンドウの最下部の[コンポーネントを追加]ボタンをクリックします。
ドロップダウンリストが表示されます。
ドロップダウンリストの検索ボックスにスクリプトの名前 "ClickScript"を入力し検索します。ドロップダウンリストに "ClickScript" の項目が表示されますのでクリックして選択します。
[ClickScript (Script)]の項目がインスペクターのウィンドウに追加されます。
続いて[ナビゲーション]の項目の下部の[クリック時()]の欄の右下にある[+]のアイコンボタンをクリックします。クリックすると[クリック時()]の枠に項目が追加されます。(下図参照)
追加された枠の [Runtime Only]のコンボボックスの下にある [None (Object)]のボックスをクリックします。クリックすると下図の[Select Object]のダイアログボックスが表示されます。
[Select Object]のダイアログボックスの[Scene]タブをクリックします。下図の画面に変わります。一覧から[Button]の項目をクリックして選択します。
補足
別の方法として、[ヒエラルキー]ウィンドウの[Button]の項目を[None (Object)]のボックスにドラッグ&ドロップする方法でも設定できます。
イベント発生時のメソッドを設定する
ボタンにスクリプトが設定できた状態が下図となります。クリックイベントが発生した際に処理を実行するメソッドを設定します。
[クリック時()]の枠の[No Function]と表示されているコンボボックスをクリックします。下図のドロップダウンメニューが表示されます。メニューの[ClickScript]の項目をクリックします。サブメニューが表示されますので、サブメニューの[ButtonClick()]をクリックします。この名称は先ほどC#スクリプトで実装したメソッド名と同じ名称のものを選択します。
イベント発生時に呼び出されるメソッドが設定できました。
実行結果
再生ボタンをクリックしてプロジェクトを実行します。下図の画面が表示されます。ボタンをクリックするとビープ音が鳴ることが確認できます。
以上でUIボタンのクリックイベントを実装できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用