1. 程式人生 > >unity | 按鈕onClick沒有function解決辦法、button繫結回撥函式步驟

unity | 按鈕onClick沒有function解決辦法、button繫結回撥函式步驟

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而存在。