我们在使用NGUI插件的时候,可能会用到长按时间,而他自带的检测时间中是没有长按 这个方法的。这边我们可以对它的自带脚本进行一些修改,从而达到长按的效果
脚本如下:
找到NGUI脚本中的UIButtonMessage.cs脚本,删除其中的OnPress方法,新建如下所示的OnPress方法:
//按钮的长按事件以及松开事件
void OnPress(bool isPressed)
{
if (trigger == Trigger.OnPress)
{
if (isPressed)
{
isPress = true;
}
else
{
isPress = false;
}
}
else if (trigger == Trigger.OnRelease)
{
//松开时发送消息
if (!isPressed)
{
Send();
}
}
}
后面你在监听按钮的长按事件的时候,可以选择Buttonmessage这个方法,选择Press,就可以了。
目前,NGUI中 按钮的检测事件主要有 OnClick事件,ButtonMessage,UIEventListener这三个途径。NGUI的版本越来越完善了,UIEventListener方法可以完全取代ButtonMessage。监听器使用方法如下:
UIEventListener.Get(gam).onClic=方法名;
其中的gam就是被检测的对象,该对象只需要拥有collider即可。后面的方法名就是具体的实现方法。