1本指ならまだしも、マルチタッチで移動って処理めんどいし、うまくいかん・・と思ってたら、簡単すぎる解答がオフィシャルであった。
cc.eventManager.addListener({ event: cc.EventListener.TOUCH_ALL_AT_ONCE, onTouchesMoved: function (touches, event) { var touch = touches[0]; var delta = touch.getDelta(); var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP); var diff = cc.pAdd(delta, node.getPosition()); node.setPosition(diff); } }, this);
A faster way to add listener to cc.eventManager
短くするならこうかな
onTouchesMoved: function (touches, event) { var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP); node.setPosition(cc.pAdd(touches[0].getDelta(), node.getPosition())); }