scene只能注册touchmove事件,其他的无效

###creator版本号1.5.2 Mac
####当前场景上面有scrollview,然后我想给场景再加上触摸事件(为了获取touch delta),下面是代码,我发现只有touchmove事件能触发,其余的事件都无法触发,有遇到过的没有?scrollview 吞噬了touchstart和其他事件,只有touch move没有吞噬?如果当前场景有scrollview 又想添加触摸事件该怎么加呢?

onLoad: function () { var self = this; var scene = cc.director.getScene(); scene.on(cc.Node.EventType.TOUCH_MOVE,function(touch){ var data = touch.getDelta().x; cc.log('move' + data); var r = self.rudder.rotation + data/40; if (r > 0 && r < 30 || r<0 && r > -30){ self.rudder.stopAllActions(); self.rudder.rotation = r; } }); scene.on(cc.Node.EventType.TOUCH_END,function(touch){ cc.log("endend"); self.rudder.stopAllActions(); self.rudder.runAction(cc.rotateTo(1,0)); }); }

你先看看 Scene 的 width,height 是多少,如果是 0 的话,就无法响应事件

吞噬事件是正常的,毕竟你的事件被 scrollview 处理了。如果你想拦截 scrollview 的事件,注册时应该让 useCapture 参数传 true

我是想在场景上添加触摸事件,同时不阻碍scrollview的触摸,这样scrollview正常工作,我也同时能获取touchstart等触摸。