文档库 最新最全的文档下载
当前位置:文档库 › Unity 4.6的使用匿名delegate处理uGUI控件事件绑定

Unity 4.6的使用匿名delegate处理uGUI控件事件绑定

Unity 4.6的使用匿名delegate处理uGUI控件事件绑定
Unity 4.6的使用匿名delegate处理uGUI控件事件绑定

最近在尝试

unity 4.6新版的uGUI。Unity很多操作是要在Inspector中指定,这种方式十分容易上手,甚至一些策划、美术同学也可以做一些东西,很不错。但是有些情况对于程序来说就不适合了。

例如,我有10个技能按钮,当点击到某个按钮时触发其对应的技能。如果每个按钮都手动绑定到某个函数,是不是很麻烦?另外,绑定的这个函数还是没有参数的,难道要写10个函数处理同一个逻辑吗?瞬间觉得十分蛋疼,有没有?

针对这种情况,给出一个解法,假设我们已经编辑好了n个Button 对象:文章来自【狗刨学习网】

public class UISkillPanel : MonoBehaviour

{

// Use this for initialization

void Start()

{

// 取得的玩家技能数据

List spellList =

LocalPlayerData.Inst.SpellList;

for (int i = 0; i < spellList.Count; i++)

{

SpellInfo spell = spellList[i];

GameObject btnGO =

GameObject.Find(string.Format("SkillButton{0}", i));

//-- 使用匿名delegate处理按钮事件

Button btn = btnGO.GetComponent