项目场景:
creator 项目中,关于触摸,对于同一个node的监听触摸事件,有 时由于玩家的操作,在同一个节点,如果同时多个手指点击。
问题描述:
在同一个节点,如果同时多个手指点击,那么这时event的getTouches()方法是可以获取到多个点的,其结果是一个数组,touchStart和touchMove,touchEnd都一样。
有时我们想要屏蔽掉当点触摸。
解决方案:
对于creator,最简单的方法是,我们可以找到引擎的CCInputManager.js文件(Resources/engine/cocos2d/core/platform/CCInputManager.js),修改其_maxTouches为1即可。
除此之外,需要防止同一个节点的事件被多次响应,我们也可以通过touchid做区分。
touchingID:number = 0;
onLoad(){
this.node.on(cc.Node.EventType.TOUCH_START,this.onTouchEvt,this);
this.node.on(cc.Node.EventType.TOUCH_END,this.onTouchEvt,this);
}
onTouchEvt(evt