方法1.
首先那个NGUI上的预设体上必须有boxcollider ,预设上的脚本只需挂上一个点击的脚本就行了
可以用NGUI的 void OnClick(){ dosomething }
另外一个按下事件 void OnPress(bool ispressed){dosomething}
方法2.
通过给预设上加个UIButtonMessage脚本(NGUI自带的)这个类 有三个参数,一个是点击的target ,一个是FunctionName,
可以通过 :
UIButtonMessage message;
void Start(){
message = GetComponent<UIButtonMessage>();
message.FunctionName = "OnClickBtn";
void OnClickBtn(GameObject go)
{
dosomething();
}
}
UGUI 和NGUI事件监听的差异
UGUI
UGUI
Button startButton = GameObject.Find ("StartButton"). GetComponent<Button>();
startButton.onClick .AddListener(()
=> {
Manager. Game();
});//() =>{Manager.Game()}也可以直接换成方法名
NGUI UIEventTrigger
UIEventListener
OnPress方法只适合用于屏幕检测
UIEventListener .Get(attackButton). onPress = OnAttackPress ;
void OnAttackPress(GameObject attackButton, bool isPressed )
{
if(isPressed){
//执行某件事
}
}
public GameObject btn ;
void Start ()
{
UIEventListener.Get (btn). onClick = OnClickBtn ;
}
void OnClickBtn(GameObject btn)
{
doSomething();
}