问题发生的场景:
对象A要moveTo对象B的位置,对象A与对象B不在同一结点下,都是其他结点的子结点,因此,要计算moveTo的距离。
onclick: function(){
objA.stopAllActions();
objA.setPosition(0, 0); // 相对自己父对象的0,0位置
// 自己的世界坐标
var startWorldPos = objAconvertToWorldSpace(objA.getAnchorPoint())
// 目标的世界坐标
var targetWorldPos = objBconvertToWorldSpace(objB.getAnchorPoint())
var x = targetWorldPos.x - startWorldPos.x
var y = targetWorldPos.y - startWorldPos.y
objA.runAction(cc.moveBy(0.5, x, y));
}
第一次点击运行正常,但第2次点击就不飞往目标位置了,第3次点击正常。第4次点击不动。
打印出来的日志可以看出,startWorldPos在第2,4,6…2n 次没有被置为一开始的位置。
麻烦解决