最近在做个游戏,涉及到将不同装备穿戴给角色,赋予角色不同属性(例如血量,速度等),以及不同的方法(例如技能等)。
刚开始对于此是一头雾水,不知如何下手,经过几番研究考虑想到了委托与事件,鉴于之前对此也没多少研究更别说实际的应用了。
所以想好好学习学习关于委托与事件,然后仔细看了看下面篇博客,并模仿着在unity中实现了一下。
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx
简单先新建一个场景,建一个胶囊体做主角,另外新建了三个立方体做装备,使用NGUI制作了三个按钮做技能,以及一个Label显示属性值,如下图
然后写主角的脚本
//属性
public UILabel bloodLabel;//Label用于显示属性值
public static float blood;//属性
//技能
public delegate void SkillHandler();//声明一个委托
public static event SkillHandler skill1;//声明三个事件,用于注册三个技能方法
pub