1、定义:
在 Unity 中,Event 通常指的是一种机制,允许游戏对象响应某些事件(例如按钮点击、物理碰撞、键盘输入等)。允许你在运行时动态地为某个事件绑定多个方法,并在事件触发时自动调用这些方法。
2、个人理解:
从字面意思来理解,它就是一个无内容的事件!实际里发生了一个事件就会触发一系列各部分各人的反应。所以,event.Invoke()以后,也就是事件发生了以后,会使一系列在监听(addlistener)这个事件的方法调用。这个event里面其实没有任何内容,它只是一个广播一样的东西通知调用各个方法
3、使用:
Invoke表示事件发生
addlistener()用来添加要触发的方法(可以加很多个)
UnityEvent 常用范例
- UnityEvent:最常见的事件范例,适用于通知无参数的方法。
- UnityEvent<T>:带一个范例参数的事件,适用于通知带一个参数的方法。
- UnityEvent<T1, T2>:带两个参数的事件,以此类推。
带一个参数的 UnityEvent 示例:
- public UnityEvent<int> onEventTriggered;
- void Start()
- {
- if (onEventTriggered == null)
- onEventTriggered = new UnityEvent<int>();
- }
复制代码 通过代码添加方法到 UnityEvent:
- using UnityEngine;
- using UnityEngine.Events;
- public class MyEventListener : MonoBehaviour
- {
- public UnityEvent onEventTriggered;
- void Start()
- {
- if (onEventTriggered == null)
- onEventTriggered = new UnityEvent();
- // 通过代码添加事件监听器
- onEventTriggered.AddListener(EventTriggered);
- }
- void Update()
- {
- if (Input.GetKeyDown(KeyCode.Space))
- {
- // 触发事件
- onEventTriggered.Invoke();
- }
- }
- void EventTriggered()
- {
- Debug.Log("Event triggered by code!");
- }
- }
复制代码 ps.button里的onclick也是一个事件,用法同上。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |