using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class UnityEventTest : MonoBehaviour
{
public UnityAction myAction;
public UnityEvent myEvent;
private void Start()
{
//添加监听方法1:将myAction和SendEvent1方法绑定
myAction = new UnityAction(SendEvent1);
//添加监听方法2:将myAction和SendEvent2方法绑定
myAction += SendEvent2;
//为Event添加监听者myAction
myEvent.AddListener(myAction);
//lamda表达式
myEvent.AddListener(() =>
{
LamdaEvent(1, 2);
}
);
}
void SendEvent1()
{
Debug.Log("new出来的UnityAction事件");
}
void SendEvent2()
{
Debug.Log("+=的监听事件");
}
public void SendEvent3()
{
Debug.Log("在面板上挂载的事件");
}
public void LamdaEvent(int i, int j)
{
Debug.Log("输出的是" + i + "和" + j);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
//触发myEvent事件
myEvent.Invoke();
}
}
}
Unity 使用监听事件的几种常用示例
最新推荐文章于 2024-07-23 15:41:07 发布