一、效果
點了【按鈕2】后,會激發(fā)(invoke)【按鈕1】的OnClick事件文章來源地址http://www.zghlxwxcb.cn/news/detail-524507.html
二、激發(fā)一個按鈕的OnClick事件的方法
- 1、用Invoke()激發(fā)
targetButton.onClick.Invoke();
- 2、用ExecuteEvents.Execute()分發(fā)
PointerEventData eventData = new PointerEventData(EventSystem.current);
ExecuteEvents.Execute(buttonOne.gameObject, eventData, ExecuteEvents.pointerClickHandler);//分發(fā)物體的Click事件
三、代碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
/// <summary>
/// 點擊一個button,激發(fā)另一個button的onClick事件
/// </summary>
public class TestButtonOnClickInvoke : MonoBehaviour
{
public Button buttonOne;
public Button buttonTwo;
// Start is called before the first frame update
void Start()
{
buttonOne.onClick.AddListener(() => Debug.Log("Button1:誰在點我!"));
buttonTwo.onClick.AddListener(() =>
{
Debug.Log("Button2:為什么點的總是我,我也要點一下button1");
//茴【香豆】字的第一種寫法
Debug.Log("Button2:我用onClick.Invoke點它");
buttonOne.onClick.Invoke();
//茴【香豆】字的第二種寫法
Debug.Log("Button2:我用EventSystems點它");
PointerEventData eventData = new PointerEventData(EventSystem.current);
ExecuteEvents.Execute(buttonOne.gameObject, eventData, ExecuteEvents.pointerClickHandler);//分發(fā)物體的Click事件
});
}
}
文章來源:http://www.zghlxwxcb.cn/news/detail-524507.html
到了這里,關(guān)于Unity中如何激發(fā)(invoke)一個Button的OnClick事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!