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 );