GameObject关于Message带有三种方法,
gameObject.SendMessageUpwards ("test1",4);
gameObject.SendMessage("test2");
gameObject.BroadcastMessage("test3");
都有三个参数,第一个函数名,第二个参数,第三个是SendMessageOptions.RequireReceiver //如果没有找到相应函数,会报错(默认是这个状态)
SendMessageOptions.DontRequireReceiver //即使没有找到相应函数,也不会报错,自动忽略。
SendMessageUpwards 会执行gameObject自身与父级上挂的所有Script中写有"test1"的方法。
SendMessage会执行gameObject自身挂的所有Script中写有"test2“的方法。
BroadcastMessage会执行gameObject自身与子级上挂的所有Script中写有"test3"的方法。
关于NGUI
使用NGUI创建的按钮添加有BoxCollider,这个collider响应鼠标事件OnClick()等事件。
也可以使用UIEventListener,第一步,添加BoxCollider和UIEventListener,第二步,调用委托的方法,
gameObject.GetComponent<UIEventListener>().onClick = click; void click(GameObject go)。