原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2019/0106/312.html
常州手游开发设计-Unity3D通过委托一个类访问到另一个类中的方法
				如何通过委托实现一个类访问到另一个类?首先大家需要知道委托可以做什么,委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。了解完后,下面常州微信公众平台开发-幻天就给大家介绍下实现方法。
		
	using System.Collections;
	using System.Collections.Generic;
	using UnityEngine;
	public class class1 : MonoBehaviour {
	    public static class1 Instance
	    {
	        private set;
	        get;
	    }
	    void Awake()
	    {
	        Instance = this;
	    }
	    void OnDestroy()
	    {
	        if (Instance != null)
	        {
	            Instance = null;
	        }
	    }
	    public delegate void FunVoid();
	    public delegate void FunString(string str);
	    public FunVoid delFun;
	    public FunString delFunString;
	    // Use this for initialization
	    void Start () {
	        delFun();
	        delFunString("11111");
	    }
	    // Update is called once per frame
	    void Update () {
	    }
	}
	
	
		using System.Collections;
	
		using System.Collections.Generic;
	
		using UnityEngine;
	
		public class class2 : MonoBehaviour {
	
		    public static class2 Instance
	
		    {
	
		        private set;
	
		        get;
	
		    }
	
		    void Awake()
	
		    {
	
		        Instance = this;
	
		    }
	
		    void Start()
	
		    {
	
		        class1.Instance.delFun += class2Fun;
	
		        class1.Instance.delFunString += class2FunString;
	
		    }
	
		    void OnDestroy()
	
		    {
	
		        if (Instance != null)
	
		        {
	
		            Instance = null;
	
		        }
	
		        class1.Instance.delFun -= class2Fun;
	
		        class1.Instance.delFunString -= class2FunString;
	
		    }
	
		    // Use this for initialization
	
		    // Update is called once per frame
	
		    void Update () {
	
		    }
	
		    void class2Fun()
	
		    {
	
		        Debug.Log("class2Fun()");
	
		    }
	
		    void class2FunString(string str)
	
		    {
	
		        Debug.Log("class2常州微信小程序开发FunString()");
	
		    }
	
		}
		
		 
上篇:上一篇:常州手游开发-Unity中的优化技术
下篇:下一篇:常州手游开发培训-Unity加载和内存管理




