「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設置
- GameObject/UI/Buttonを選択すると"Button"がCanvas上に設置される
- そのまま再生
Buttonイベントは2種類方法がある
- GUI上からボタンイベントを設定するパターン
- Scriptでボタンイベントを設定するパターン
Buttonにevent追加(GUI上からボタンイベントを設定するパターン)
- ButtonをCanvas上に設置
- Canvas上のButtonを選択して左のinspectorタブを開く
- Button(Script)のところのOnClick()を確認
- Runtime Onlyを選択
- select objectにButtonを選択する
- 一番下のAddComponentを選択しNewScriptを選択Script名をUIButtonControllerと入力しUIButtonController.csを作成する(UIButtonController.csはAssetsの直下に作成される)
- UIButtonController.csに以下メソッドを追加
public void OnEventClick(string name)
{
Debug.Log(name+" hello");
}
- ButtonのInspectorのOnClickのno functionの場所にUIButtonController.OnEventClickを入れる
- ButtonのInspectorの新しく追加された入力欄にメソッドに渡す引数"hoge"を入れる
- そのまま再生
- 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を選択する
