unity学习——委托(带参数方法的使用)

这是一个只具有打印功能的脚本

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

public class DelegateScript : MonoBehaviour {

   //声明一个委托类型,它的实例引用一个方法
    delegate void MyDelegate(int num);
    MyDelegate myDelegate;
     void Start()
    {
       //委托类型MyDelegate的实例myDelegate引用方法PrintNum
        myDelegate = PrintNum;
        myDelegate(50);
       //委托类型MyDelegate的实例myDelegate引用方法PrintDoubleNum
        myDelegate = PrintDoubleNum;
        myDelegate (50);
    }
    //输出原数
    void PrintNum(int num)
    {
        Debug.Log("Print num:"+num);
    }
    //输出该数的两倍
    void PrintDoubleNum(int num)
    {
        Debug.Log("Double Num:"+num*2);
    }
}

Delegate类定义了两个私有方法PrintNum和PrintDoubleNum,它们分别实现了打印传入的参数和打印传入参数的两倍的功能。在Start方法中,MyDelegate类的实例myDelegate分别引用了这两个方法,并且分别调用了这两个方法。
打印结果如下
unity学习——委托(带参数方法的使用)_第1张图片

你可能感兴趣的:(unity)