Я хочу перетащить определенный спрайт при касании. Интересно, могу ли я добавить прослушиватели событий только к определенному узлу, поэтому мне не нужно проверять, какой узел был затронут, прежде чем запускать конкретную функцию перетаскивания для каждого узла. Следующий код также «срабатывает» при касании за пределами определенного узла.
this.directionDial = new cc.Node()
this.directionDial.graphics = this.directionDial.addComponent(cc.Graphics)
this.node.addChild(this.directionDial)
this.directionDial.graphics.lineWidth = 2;
this.directionDial.graphics.strokeColor = cc.Color.RED;
this.directionDial.graphics.circle(80, 0, 10);
this.directionDial.graphics.stroke();
var _this = this;
// Touch control
cc.eventManager.addListener({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function (touch, event) {
//do something
_this.forceDirection = 1;
_this.displayDirection()
return true;
}
}, this.directionDial);