官方button组件不支持按下触发,求完善

上面就已经说了,图标小,你点击,并不会进入touch end。

要用on事件,是为了解决,用官方自带的button按钮,有时候点击无效的问题

吃白食还想定制?处女座?花两分钟自己写一个不比在这秀操作强?

引擎不可能照顾所有开发者的奇葩需求
你这需求几十行代码半把个小时搞定的事,何必在这怼天怼地怼空气

兄弟,地图炮处女座不对吧?
不过楼主这表达欠佳,
觉得图标小 可以把BG放Button下面,然后你手动设置button大小,多大都可以

楼主标题党了,这不能叫 「体验极差」好吧,我帮你把标题改了。
目前绝大多数操作体验都是回弹触发的,所以用户按错的时候可以把手指移出 button 区域释放,来取消掉按错的操作。

3赞

哈哈哈!本来“处女座”这个位置,想敲的是:“屁大点事!”,想想自己实力这么菜还这么嚣张有点说不过去………………

解决触摸区域过小的方法:将点击事件绑定在一个大小你觉得够大的空节点上,将你的X按钮图片作为这个空节点的子节点,就可以了。

unity小按键点击边缘就不会有无效的问题。(相同大小的按键,在手机上测试20次,没问题。cocos 13次成功)

我当然希望cocos按键 按下回弹后处理,关键是小按键处理不了。用户点击按键边缘,可以进去touchstart,回弹就不是按键的touchend,所以不触发事件。

1赞

所以你的按键是按下后会变小?

他应该是按钮设置了scale,按下后变小,所以当点击按钮边缘时,button的hitTest没有生效导致回弹以后不触发按钮的touchend事件。

是的。按键的scale

你用一个透明的节点当按钮也可以的,或者自己订制一个按钮。可以设置碰撞区域的。

做法错了,scale的话操作的应该是图片不应该是按钮本身,这是自己的代码问题

image

好了。这个问题别回复了。
图片下挂button组件,效果为sacle。点击边缘地方(无论大小按键),马上松开,按键会有sacle效果,但有时候并不会进入相应的函数中去,也就是没有效果。因为会进入到取消。

懒办法是:在按键图片上放个父节点,父节点比图片区域大,让父节点挂button.

目前我用fgui了,不用官方自带的了,fgui全是自己代码控制了。因为我的按键不需要取消(也就是按下移开,当然官方用代码touchstart也可以实现)。

感谢各位大佬的回复。

1赞

感觉莫名奇妙,官方自带的按钮组件就是:按钮节点=>效果图片=>图片文字(一般没用)的结构,这被理解成懒办法了?最懒的办法就是直接拖个默认组件出来,然后手动绑个TOUCH_START时间不用ClickEvents就是了

奇怪的帖子. 点击事件不都有各自的作用? 官方提供的不行.就自己扩展一下. 怎么就和体验有关系了?
要想点击就触发 完全可以自己 on touchBegin事件啊

你说的那个问题,实际上就是因为缩放后松开的位置在节点外面,所以不会触发touchend,并非是什么bug,想避免你可以同时监听touchendtouchcancel

嗯。差不多就是你这个意思。缩放后就在节点外面(如果严格来说,缩小的位置也还在节点里面,只是边缘地带,因为我用同样的位置按下,有时候可以有时候不可以),进入到取消事件去了。

unity就不会出现。一样大小的图标,点击边缘or松开在节点外面,不会进入取消事件。一定要手指移开才行。