小功能⭐️Unity委托事件
Posted 小星河丨U3D开发支持
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小功能⭐️Unity委托事件相关的知识,希望对你有一定的参考价值。
文章目录
实现功能:
发生某事情(按下某键、点击某物体),触发某事件(声明的事件),所有已订阅该事件的方法会监听到该事件被触发,所有已订阅的方法会执行
思路:
脚本1作为发布者,声明事件
脚本2:给脚本1对应的事件添加方法
脚本3:给脚本1对应的事件添加方法,执行委托
注意:单例脚本也许挂载到游戏物体上!在重新加载场景时,最好释放事件,否则可能发生问题
脚本1
using UnityEngine;
public class Skode_EventHandler : MonoBehaviour
public static Skode_EventHandler instance;
private void Awake()
instance = this;
public delegate void Handler(string content);
//实例委托
public Handler GameReset;
脚本2
using UnityEngine;
public class Skode_EventHandler1 : MonoBehaviour
private void Start()
Skode_EventHandler.instance.GameReset += Skode_Method;
private void Skode_Method(string content)
Debug.Log("hi,woshi 1");
脚本3
using UnityEngine;
public class Skode_EventHandler2 : MonoBehaviour
private void Start()
Skode_EventHandler.instance.GameReset += Skode_Method;
private void Skode_Method(string content)
Debug.Log("hi,woshi 2");
private void Update()
//回车键
if (Input.GetKeyDown(KeyCode.Return))
if (Skode_EventHandler.instance.GameReset != null)
Skode_EventHandler.instance.GameReset("我是Skode");
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡
以上是关于小功能⭐️Unity委托事件的主要内容,如果未能解决你的问题,请参考以下文章