Unity回调函数

 
  

回调函数的作用通俗点讲就是完成了某个动作之后可以立马进行另一个动作,但那个动作你不确定具体会干什么,你可以根据不同的需求来进行不同的改变,这就是回调函数的作用

现在以一个很简单的例子来说明

using UnityEngine;
using System.Collections;

public class huidiaohanshu : MonoBehaviour {

    // Use this for initialization
    public delegate void callback(int a);
    
    public void add(int a, int b,callback call) 
    {
        int count = a + b;
        call(count);
    }
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

定义了一个huidiaohanshu类
这个类里面有一个求和的方法,在求和结束后要进行另一个动作,但我现在不知道具体要做什么,所以用了一个委托

using UnityEngine;
using System.Collections;

public class xianshi : MonoBehaviour {

    // Use this for initialization
    public int x;
    public int y;
    huidiaohanshu hanshu = new huidiaohanshu();
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
    public void onClick() 
    {
        hanshu.add(x, y, call);
    }
    void call(int y) 
    {
        Debug.LogError("add is "+y);
    }
}

定义了一个xianshi类
这个类里我用到了上个类的求和方法,并且得到了一个要求,在求和之后需要把得数显示出来,那么我就可以直接在这个类里面写出打印的动作

这样基本实现了一个简单的回调函数应用

可以看出,回调函数的特点,在一个类里面定义,而在另一个类里面才有具体的实现方法,这样你想修改求和之后想做的动作时,直接修改call里面的东西即可,不用再到huidiaohanshu类里面修改



作者:楚天月
链接:http://www.jianshu.com/p/0d5744a2e914
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(C#)