Unity Event使用方法

打印 上一主题 下一主题

主题 838|帖子 838|积分 2514

1、定义:
在 Unity 中,Event 通常指的是一种机制,允许游戏对象响应某些事件(例如按钮点击、物理碰撞、键盘输入等)。允许你在运行时动态地为某个事件绑定多个方法,并在事件触发时自动调用这些方法。
2、个人理解:
从字面意思来理解,它就是一个无内容的事件!实际里发生了一个事件就会触发一系列各部分各人的反应。所以,event.Invoke()以后,也就是事件发生了以后,会使一系列在监听(addlistener)这个事件的方法调用。这个event里面其实没有任何内容,它只是一个广播一样的东西通知调用各个方法
3、使用:
Invoke表示事件发生
addlistener()用来添加要触发的方法(可以加很多个)
UnityEvent 常用范例



  • UnityEvent:最常见的事件范例,适用于通知无参数的方法。
  • UnityEvent<T>:带一个范例参数的事件,适用于通知带一个参数的方法。
  • UnityEvent<T1, T2>:带两个参数的事件,以此类推。
带一个参数的 UnityEvent 示例:
  1. public UnityEvent<int> onEventTriggered;
  2.     void Start()
  3.     {
  4.         if (onEventTriggered == null)
  5.             onEventTriggered = new UnityEvent<int>();
  6.     }
复制代码
 通过代码添加方法到 UnityEvent:
  1. using UnityEngine;
  2. using UnityEngine.Events;
  3. public class MyEventListener : MonoBehaviour
  4. {
  5.     public UnityEvent onEventTriggered;
  6.     void Start()
  7.     {
  8.         if (onEventTriggered == null)
  9.             onEventTriggered = new UnityEvent();
  10.         // 通过代码添加事件监听器
  11.         onEventTriggered.AddListener(EventTriggered);
  12.     }
  13.     void Update()
  14.     {
  15.         if (Input.GetKeyDown(KeyCode.Space))
  16.         {
  17.             // 触发事件
  18.             onEventTriggered.Invoke();
  19.         }
  20.     }
  21.     void EventTriggered()
  22.     {
  23.         Debug.Log("Event triggered by code!");
  24.     }
  25. }
复制代码
 ps.button里的onclick也是一个事件,用法同上。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表