Unity3D中的委托使用

本文深入探讨了游戏开发领域的关键技术,包括Unity3D和Cocos2dX引擎的应用,以及AI音视频处理在游戏中的创新应用,如AR特效、语音识别和视频分析等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using UnityEngine;
using System.Collections;
      
public class Delegate : MonoBehaviour
{
    /// <summary>
    /// 首先这里需要申明一个委托
    /// </summary>
    private delegate void ClickHandle();
    /// <summary>
    /// 创建一个委托事件,其实就类似于一个监听器
    /// </summary>
    private static event ClickHandle OnClick;
      
    // Use this for initialization
    void Start()
    {
             
    }
      
    void OnEnable()
    {
        //在代码被启用或者一开始的时候创建这个监听的实体方法,事实上                可要加入无数个触发的方法哦
        Delegate.OnClick += OnClicked;
        Delegate.OnClick += OnClickEnd;
    }
      
    void OnDisable()
    {
        //代码被禁用了就可以关闭监听了
        Delegate.OnClick -= OnClicked;
        Delegate.OnClick -= OnClickEnd;
    }
      
    // Update is called once per frame
    void Update()
    {
      
    }
      
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 50, 50), "click        Btn"))
            //在需要的地方启动这个委托
            Delegate.Click();
    }
      
    /// <summary>
    /// 这里声明成static是方便外部调用这个方法的监听
    /// </summary>
    public static void Click()
    {
        //当委托被触发时就去找自己的监听器,监听器便被调用,找到自      己身上捆绑的方法
        if (OnClick != null)
            OnClick();
    }
      
    //////一下两个就是触发的实体方法了//////////////
      
    void OnClicked()
    {
        Debug.Log("I clicked");
    }
      
    void OnClickEnd()
    {
        Debug.Log("I clickend");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值