我在一个身体和一个点之间创建一个约束:
var tempConstraint = Constraint.create({pointA: {x: 50, y: 50}, bodyB: body, pointB: {x: x, y: y}, stiffness: 0.1, length: 0, damping: 0.5, });
该点也在移动:
tempConstraint.pointA = {x: newX, y: newY};
问题是,如果pointA
从左到右缓慢移动,例如,其拖动的主体会向与应有的方向相反的方向移动。例如,如果您将铅笔的笔尖悬挂在笔尖上并开始向右移动笔尖,则铅笔的底部在移动时应该开始略微向顶部左侧下垂。然而,如果我用上面的代码来做同样的事情,铅笔的底部会飞到右边,就像把顶部拉到左边一样。不知道我在这里做错了什么,但我唯一的想法是改变pointA
是一个坏主意,但我真的想不出更好的方法来移动约束点。创建一个禁用碰撞的静态物体并将其附加到该物体上,然后移动该物体是解决此问题的更好方法吗?