如何禁止多点触摸?

界面上有2个按钮,点住一个按钮后不放,再去点击另外一个按钮,然后一起放,会2个按钮事件一起触发导致BUG。如何解决?

ios上很简单的在AppController.mm里

[eaglView setMultipleTouchEnabled:YES]
设置为NO,就是单点触控了,无需更改cocos底层代码;

android上的做法是找到项目所引用的cocos引擎文件:

Cocos2dxGLSurfaceView.java,找到onTouchEvent方法,在switch语句里的

MotionEvent.ACTION_POINTER_DOWN
MotionEvent.ACTION_DOWN
这两个case 的第一行都写上:

if (pointerNumber > 1) return false;
当检测到当前触控点的数量大于1时,就不让再点击屏幕。

1赞

谢谢 。有不修改底层的办法吗。修改了底层就要去更新包了

官方应该有对应的接口,我记得3.14的更新说有,但是一直没找到对应的接口。如果你先找到了给我说声,谢谢

怎么修改不了这个Cocos2dxGLSurfaceView文件?