Math 如何限制弹弓的回拉长度?

Math 如何限制弹弓的回拉长度?,math,box2d,Math,Box2d,目前我有一个发射炮弹的代码: Vector3 d = mousePos.sub(pouchPos.x, pouchPos.y, 0); d.mul(FIRE_SPEED); projectile.setVelocity(-d.x, -d.y); 它工作正常,并且根据鼠标位置设置位置: turtle.body.setTransform(mousePos.x, mousePos.y, 0); if (turtle.pos.dst(pouchPos)

目前我有一个发射炮弹的代码:

Vector3 d = mousePos.sub(pouchPos.x, pouchPos.y, 0);
        d.mul(FIRE_SPEED);
        projectile.setVelocity(-d.x, -d.y);
它工作正常,并且根据鼠标位置设置位置:

turtle.body.setTransform(mousePos.x, mousePos.y, 0);

        if (turtle.pos.dst(pouchPos) > 5)
        {
            //What to put in here?
        }

问题是我不知道在
if(turtle.pos.dst(pockpos)>5)
子句中放什么。你有什么建议?

这不起作用,因为某种原因,它会使对象在其x和y位置减少。这里的“向量”应该是回拉向量,而不是位置。我不确定你所说的“回拉向量”是什么意思如何将其转换为对象位置?“拉回向量”是从拉回起始位置到当前接触点的向量,即问题标题中提到的“拉回长度”。
if ( length > limit ) 
    vector.mul( limit / length );