unity 委托

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Control : MonoBehaviour
{

public delegate void DelegateTool(string zimu);

Enev se = new Enev();


void Start()
{
    //方法一
    text("sdhj", se.A);

    text("jkk", se.B);

    //方法二  多个委托一起调用  第一个=是赋值  第二个+=是增加
    DelegateTool dele;

    dele = se.A;
    dele += se.B;

    text("jkk", dele);

    //方法三  简化方法二

    DelegateTool dele1 = new DelegateTool(se.A);
    dele1 += se.B;
    text("jkk", dele1);

    //方法四  使用-=来减掉不需要得委托

    DelegateTool dele2 = new DelegateTool(se.A);
    dele2 += se.B;
    text("jkk", dele2);

    dele2 -= se.A;
    text("jkk", dele2);

}

public void text(string str, DelegateTool dt)
{
    dt(str);
}

}

//使用委托方法可以避免使用if…else if 或者switch,使得程序有更好的可扩展性。
public class Enev : MonoBehaviour
{

public void A(string tex)
{
    print("A    " + tex);
}

public void B(string tex)
{
    print("B    " + tex);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity 是一款流行的游戏引擎,它提供了丰富的开发工具和功能,可以用于开发各种类型的游戏和应用程序。 在 Unity 中,委托(Delegate)是一种重要的编程概念,它允许程序员将方法作为参数递,并通过委托来调用这些方法。 在这个问题中,如果我们有一个委托叫做 greetpeople,我们可以使用 Unity 引擎的相关 API 来实现 greetpeople 这个委托。 首先,我们需要定义 greetpeople 的委托类型。可以使用以下代码: ``` public delegate void GreetPeopleDelegate(string name); ``` 接下来,我们可以编写一个方法作为 greetpeople 的实现,例如: ``` public void Greet(string name) { Debug.Log("Hello, " + name + "!"); } ``` 在这个例子中,我们简单地将入的名字连接到问候语后面,并使用 Unity 引擎的 Debug.Log 函数输出结果。 最后,我们可以使用 greetpeople 委托来调用 Greet 方法。例如: ``` GreetPeopleDelegate greetpeople = Greet; greetpeople("Bob"); ``` 在这个示例中,我们将 Greet 方法赋值给 greetpeople 委托,并入字符串 "Bob"。通过调用 greetpeople 委托,我们实际上会调用 Greet 方法,并输出 "Hello, Bob!" 到 Unity 编辑器的日志中。 通过使用 Unity 引擎的委托机制,我们可以更加灵活地设计和组织代码,实现各种功能和交互。无论是游戏开发还是其他应用程序开发,委托都是非常有用的编程工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值