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


相关文章
|
29天前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】俯视角
本文介绍了Unity中常用的俯视角镜头实现方法,涵盖模型添加、角色Tag设置、摄像机脚本编写及测试运行,帮助开发者快速掌握俯视角在策略与模拟类游戏中的应用技巧。
160 0
|
30天前
|
人工智能 定位技术 C#
【Unity3D实例-功能-移动】通过鼠标点击进行角色移动
本文介绍了如何在Unity中实现鼠标点击控制角色移动的功能。通过安装导航网格、设置地图与角色、烘焙路径及编写脚本,带领读者一步步构建角色自动寻路系统,增强游戏交互体验。
76 0
|
2月前
|
C# 图形学 开发者
【Unity3D实例-功能-移动】复杂移动(Blend Tree方式)
本文介绍了使用Unity中Blend Tree实现角色移动控制的完整教程,涵盖动画器设置、Blend Tree创建、CharacterController组件添加及代码控制,帮助开发者实现流畅自然的角色动画效果。
65 0
|
2月前
|
图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(CharacterController方式)
本文介绍了如何在Unity中使用CharacterController组件实现角色灵活移动。内容包括模型准备、动画处理、添加组件、编写移动脚本及测试运行,帮助开发者快速掌握角色控制技巧,打造流畅的游戏体验。
96 0
|
2月前
|
C# 图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(Rigidbody方式)
本文介绍了如何在Unity中使用Rigidbody组件实现角色自由移动,包括模型准备、组件添加、脚本编写与测试运行,帮助开发者快速掌握基础角色控制技巧。
119 0
|
2月前
|
C# 图形学
【Unity3D实例-功能-移动】角色移动-通过WSAD(Transform方式)
本文介绍了如何在Unity中实现角色移动功能,使用Transform组件控制角色基础移动,并详细讲解了模型导入、动画设置、动画控制器配置及移动脚本编写等内容,适合Unity初学者学习角色控制的基础知识。
85 0
|
7月前
|
存储 API 图形学
Unity 给Animator动画添加事件(动态的)
在 Unity 中,通过动画事件系统可在动画播放的特定时间点触发自定义函数。动态添加事件的步骤包括获取 `AnimationClip` 对象,创建并添加 `AnimationEvent`,最后调用 `Rebind()` 更新动画控制器。示例代码展示了如何在动画开始、中间和结束时触发事件,实现与游戏逻辑的交互。
|
7月前
|
图形学 UED
unity Tab键实现切换输入框功能
该脚本用于简化输入框之间的Tab键切换操作。只需将脚本挂载在InputField上,无需其他设置。脚本通过监听Tab键和Shift键组合,自动选择下一个或上一个可交互的InputField,提升用户体验。
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解