unity | 按鈕onClick沒有function解決辦法、button繫結回撥函式步驟
阿新 • • 發佈:2018-12-09
0. 首先新建C#指令碼,定義回撥函式,例如:resetPos
using System.Collections; using System.Collections.Generic; using State; using UnityEngine; using UnityEngine.UI; public class Button : MonoBehaviour { // Use this for initialization void Start () { } public void resetPos () { Debug.Log("onclick"); } // Update is called once per frame void Update () { } }
1. 然後把指令碼檔案拖動到button上(這一步不能少)
2. 屬性列表中在Button(Script)項
on Click list點選加號新增事件target節點
把Button節點拖動到onClick列表的“None”那裡(注意一定是節點,不能是指令碼!)
3. 接下來就很簡單了
總結:
按鈕節點新增指令碼後,會擁有自己定義的函式(和預設生命週期鉤子函式)
onClick List 是一個事件收聽者列表,列表中的節點會把自身和相應的函式註冊到事件回撥佇列中。按鈕被點選後會發射事件並執行事件回撥佇列中的函式。
事件監聽回撥函式function不能脫離收聽者target而存在。