facebook twitter hatena line email

「Unity/UIButton」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Buttonにevent追加)
行3: 行3:
 
#そのまま再生
 
#そのまま再生
  
==Buttonにevent追加==
+
==Buttonイベントは2種類方法がある==
 +
*GUI上からボタンイベントを設定するパターン
 +
*Scriptでボタンイベントを設定するパターン
 +
 
 +
==Buttonにevent追加(GUI上からボタンイベントを設定するパターン)==
 
#ButtonをCanvas上に設置
 
#ButtonをCanvas上に設置
 
#Canvas上のButtonを選択して左のinspectorタブを開く
 
#Canvas上のButtonを選択して左のinspectorタブを開く
行19: 行23:
 
#そのまま再生
 
#そのまま再生
 
#Buttonをクリックするとconsoleに"hoge hello"とでる
 
#Buttonをクリックするとconsoleに"hoge hello"とでる
 +
 +
==Buttonイベントを追加(Scriptでボタンイベントを設定するパターン)==
 +
public class UIButtonController : MonoBehaviour {
 +
void Start () {
 +
GetComponent<Button>().onClick.AddListener(OnClick);
 +
}
 +
  void OnClick()
 +
{
 +
Debug.Log("hello");
 +
}
  
 
==a script called already exists at that pathエラーの場合==
 
==a script called already exists at that pathエラーの場合==

2017年9月12日 (火) 20:59時点における版

Button設置

  1. GameObject/UI/Buttonを選択すると"Button"がCanvas上に設置される
  2. そのまま再生

Buttonイベントは2種類方法がある

  • GUI上からボタンイベントを設定するパターン
  • Scriptでボタンイベントを設定するパターン

Buttonにevent追加(GUI上からボタンイベントを設定するパターン)

  1. ButtonをCanvas上に設置
  2. Canvas上のButtonを選択して左のinspectorタブを開く
  3. Button(Script)のところのOnClick()を確認
  4. Runtime Onlyを選択
  5. select objectにButtonを選択する
  6. 一番下のAddComponentを選択しNewScriptを選択Script名をUIButtonControllerと入力しUIButtonController.csを作成する(UIButtonController.csはAssetsの直下に作成される)
  7. UIButtonController.csに以下メソッドを追加
public void OnEventClick(string name)
{
    Debug.Log(name+" hello");
}
  1. ButtonのInspectorのOnClickのno functionの場所にUIButtonController.OnEventClickを入れる
  2. ButtonのInspectorの新しく追加された入力欄にメソッドに渡す引数"hoge"を入れる
  3. そのまま再生
  4. Buttonをクリックするとconsoleに"hoge hello"とでる

Buttonイベントを追加(Scriptでボタンイベントを設定するパターン)

public class UIButtonController : MonoBehaviour {
	void Start () {
		GetComponent<Button>().onClick.AddListener(OnClick);
	}
 	void OnClick()
	{

Debug.Log("hello");

	}

a script called already exists at that pathエラーの場合

既に作成したスクリプトを選択する場合はAddComponentのあとNewScriptでなくScriptsから既存csを選択する

参考

http://unitygeek.hatenablog.com/entry/2015/03/07/145845