|
@@ -85,18 +85,24 @@ bool Object2D::handleCollision( Object2D *obj )
|
|
|
Vertex v2 = obj->getSpeed() + getWorldDir( obj->getObjectPos( hp ).rotation( obj->getDrehungSpeed() ) - obj->getObjectPos( hp ) );
|
|
|
if( ( position - obj->getPosition() ).getLengthSq() > ( position + v1 * 0.03f - obj->getPosition() - v2 * 0.03f ).getLengthSq() )
|
|
|
{
|
|
|
- float m1 = getMasse();
|
|
|
- float m2 = obj->getMasse();
|
|
|
- if( m1 == 0 || m2 == 0 )
|
|
|
- return 0;
|
|
|
+ //float m1 = getMasse();
|
|
|
+ //float m2 = obj->getMasse();
|
|
|
+ //if( m1 == 0 || m2 == 0 )
|
|
|
+ // return 0;
|
|
|
+ //float nm1 = m1 / ( m1 + m2 );
|
|
|
+ //float nm2 = m2 / ( m1 + m2 );
|
|
|
+ //rSpeed *= nm2;
|
|
|
+ //speed *= nm2;
|
|
|
+ //obj->setDrehungSpeed( obj->getDrehungSpeed() * nm1 );
|
|
|
+ //obj->setSpeed( obj->getSpeed() * nm1 );
|
|
|
rSpeed = 0;
|
|
|
- speed = Vertex( 0, 0 );
|
|
|
+ speed = Vertex();
|
|
|
obj->setDrehungSpeed( 0 );
|
|
|
- obj->setSpeed( 0, 0 );
|
|
|
+ obj->setSpeed( Vertex() );
|
|
|
if( v2.x || v2.y )
|
|
|
- impuls( hp - v2, v2 * ( m2 / ( m1 + m2 ) ) );
|
|
|
+ impuls( hp - v2, v2 );
|
|
|
if( v1.x || v1.y )
|
|
|
- obj->impuls( hp - v1, v1 * ( m1 / ( m1 + m2 ) ) );
|
|
|
+ obj->impuls( hp - v1, v1 );
|
|
|
return 1;
|
|
|
}
|
|
|
}
|