Explorar el Código

Fehler in effekten behoben, welche den spieler bewegen und bewegung verbieten

Kolja Strohm hace 5 años
padre
commit
f05417343a
Se han modificado 1 ficheros con 12 adiciones y 9 borrados
  1. 12 9
      StickmanWorldOnline/Spieler.cpp

+ 12 - 9
StickmanWorldOnline/Spieler.cpp

@@ -385,16 +385,19 @@ void Spieler::addGetroffen()
 
 void Spieler::move( Richtung r, double zeit )
 {
-    if( istAmLeben() && istBeweglich( r ) )
+    if( istAmLeben() )
     {
-        if( tastenStand[ 'w' ] && r == OBEN )
-            y -= laufTempo * (float)zeit;
-        if( tastenStand[ 'a' ] && r == LINKS )
-            x -= laufTempo * (float)zeit;
-        if( tastenStand[ 's' ] && r == UNTEN )
-            y += laufTempo * (float)zeit;
-        if( tastenStand[ 'd' ] && r == RECHTS )
-            x += laufTempo * (float)zeit;
+        if( istBeweglich( r ) )
+        {
+            if( tastenStand[ 'w' ] && r == OBEN )
+                y -= laufTempo * (float)zeit;
+            if( tastenStand[ 'a' ] && r == LINKS )
+                x -= laufTempo * (float)zeit;
+            if( tastenStand[ 's' ] && r == UNTEN )
+                y += laufTempo * (float)zeit;
+            if( tastenStand[ 'd' ] && r == RECHTS )
+                x += laufTempo * (float)zeit;
+        }
         for( auto e = effekte.getIterator(); e; e++ )
             e->move( r, zeit );
     }