Browse Source

Fehler in der Antriebsberechnung behoben

Kolja Strohm 6 years ago
parent
commit
091d130c7a
1 changed files with 3 additions and 3 deletions
  1. 3 3
      Asteroids/Spieler.cpp

+ 3 - 3
Asteroids/Spieler.cpp

@@ -199,7 +199,7 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
             float factor = 1;
             if( treibstoff > energie )
                 factor = (float)(energie / treibstoff);
-            impuls( stM, kM * (float)( beschleunigung + team->beschleunigung ) * factor );
+            impuls( getWorldPos( stM ), getWorldDir( kM ) * (float)zeit * (float)( beschleunigung + team->beschleunigung ) * factor );
             energie -= treibstoff * factor;
         }
         if( tastatur[ T_ROT_R ] )
@@ -210,7 +210,7 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
             float factor = 1;
             if( treibstoff > energie )
                 factor = (float)( energie / treibstoff );
-            impuls( stL, kL * (float)( wendigkeit + team->wendigkeit ) * factor );
+            impuls( getWorldPos( stL ), getWorldDir( kL ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
             energie -= treibstoff * factor;
         }
         if( tastatur[ T_ROT_L ] )
@@ -221,7 +221,7 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
             float factor = 1;
             if( treibstoff > energie )
                 factor = (float)( energie / treibstoff );
-            impuls( stR, kR * (float)( wendigkeit + team->wendigkeit ) * factor );
+            impuls( getWorldPos( stR ), getWorldDir( kR ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
             energie -= treibstoff * factor;
         }
         Model2DObject::tick( info, zeit );