使用NGUI的UIListener 和UIEvent Trigger 中的 OnDouble-Click 出现问题

大部分情况下,仅仅的单击事件OnClick()不能满足我们的要求的时候,我们一般会使用两种方法

1.使用SendMessage

选择按钮后,在Unity导航菜单栏中选择Component->Interaction->Button Message 组件。

Target:接收按钮消息的游戏对象。

Function Name:接收按钮消息的方法,拥有这个方法的脚本必须绑定在上面Target对象身上。

Trigger:触发的事件,OnClick显然是一次点击。

Include Children :是否让该对象的所有子对象也发送这个点击事件。


2.使用UIListener 和UIEventTirgger

只要把双击事件绑定上来就可以了。

在这里,楼主想要实现一个双击装备物品则让主角穿戴装备。这时使用了UIEventTirgger中的OnDoubleClick


但是当每次双击事件发生之后,总会发现有错误信息的错乱。后来才发现,其实,这个doubleClick里面的事件居然执行了两次。由于穿戴之后数据已经清空,第二次执行的时候导致的数据不存在的问题。

这也够坑的,双击事件不就是点击了两次鼠标执行一次才叫双击。如果执行两次,那和执行两次OnClick方法有什么区别。

所以,楼主建议如果使用这个方法的时候,使用一个标志位来识别。第一次双击的时候才起作用就行了。

当然,可能是我的问题,也有可能是NGUI版本的问题。目前使用的是3.7.2

你可能感兴趣的:(使用NGUI的UIListener 和UIEvent Trigger 中的 OnDouble-Click 出现问题)