detach rubber band if kart gets very close to hit point

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@2782 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
auria
2008-12-26 19:43:54 +00:00
parent 64921ddb90
commit 78bff749b9

View File

@@ -135,6 +135,17 @@ void RubberBand::update(float dt)
{
float force = m_owner.getKartProperties()->getRubberBandForce();
Vec3 diff = p-k;
// detach rubber band if kart gets very close to hit point
if(diff.length2() < 10*10)
{
// Rubber band snaps
m_plunger->hit(NULL);
// This causes the plunger to be removed at the next update
m_plunger->setKeepAlive(0.0f);
return;
}
diff.normalize(); // diff can't be zero here
m_owner.getBody()->applyCentralForce(diff*force);
if(m_attached_state==RB_TO_KART)