小功能⭐️Unity委托事件

简介: 小功能⭐️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");
        }
    }
}


相关文章
|
3月前
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
|
3月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
3月前
|
机器学习/深度学习 图形学 Windows
小功能⭐️unity3d KeyCode各键值说明
小功能⭐️unity3d KeyCode各键值说明
|
3月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
3月前
|
图形学
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
|
3月前
|
图形学
小功能⭐️Unity截屏功能的实现
小功能⭐️Unity截屏功能的实现
|
3月前
|
图形学
小功能⭐️Unity中Texture2D、Sprite、Texture、RenderTexture、image、byte的转换
小功能⭐️Unity中Texture2D、Sprite、Texture、RenderTexture、image、byte的转换
|
3月前
|
图形学
|
2月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
201 0
|
2月前
|
图形学 开发者 UED
Unity游戏开发必备技巧:深度解析事件系统运用之道,从生命周期回调到自定义事件,打造高效逻辑与流畅交互的全方位指南
【8月更文挑战第31天】在游戏开发中,事件系统是连接游戏逻辑与用户交互的关键。Unity提供了多种机制处理事件,如MonoBehaviour生命周期回调、事件系统组件及自定义事件。本文介绍如何有效利用这些机制,包括创建自定义事件和使用Unity内置事件系统提升游戏体验。通过合理安排代码执行时机,如在Awake、Start等方法中初始化组件,以及使用委托和事件处理复杂逻辑,可以使游戏更加高效且逻辑清晰。掌握这些技巧有助于开发者更好地应对游戏开发挑战。
120 0