Cloud37 пре 6 месеци
родитељ
комит
c302849739
3 измењених фајлова са 27 додато и 27 уклоњено
  1. BIN
      saves/save.data
  2. 24 0
      src/engine/utils/animations.py
  3. 3 27
      src/objects/entities/player/player.py

+ 24 - 0
src/engine/utils/animations.py

@@ -107,6 +107,30 @@ class PlayerAnimation(Animation):
                         sprite = pygame.transform.rotate(sprite, 270)
                 return sprite
                 
+        # On change les axes si la gravité n'est pas vers la bas
+        if self.player.gravity_orientation == Gravity.LEFT:
+            if self.player.velocity.y != 0:
+                self.x_velocity = self.player.velocity.y
+            if self.player.velocity.x != 0:
+                self.y_velocity = -self.player.velocity.x
+                
+        elif self.player.gravity_orientation == Gravity.UP:
+            if self.player.velocity.x != 0:
+                self.x_velocity = -self.player.velocity.x
+            if self.player.velocity.y != 0:
+                self.y_velocity = -self.player.velocity.y
+    
+        elif self.player.gravity_orientation == Gravity.RIGHT:
+            if self.player.velocity.y != 0:
+                self.x_velocity = -self.player.velocity.y
+            if self.player.velocity.x != 0:
+                self.y_velocity = self.player.velocity.x
+        else:
+            if self.player.velocity.x != 0:
+                self.x_velocity = self.player.velocity.x
+            if self.player.velocity.y != 0:
+                self.y_velocity = self.player.velocity.y
+
         # saut et chutes
         if self.player.air_time>0.2 or self.player.is_jumping:
             self.last_idle = pygame.time.get_ticks()

+ 3 - 27
src/objects/entities/player/player.py

@@ -296,37 +296,13 @@ class Player(HandlerPlayerEvent, PlayerDisplay):
         """
         fonction qui déplace le player et applique donc la physique et les collisions avec les inputs
         """
-        
-        # On change les axes si la gravité n'est pas vers la bas
-        if self.gravity_orientation == Gravity.LEFT:
-            if self.velocity.y != 0:
-                self.x_velocity = self.velocity.y
-            if self.velocity.x != 0:
-                self.y_velocity = -self.velocity.x
-                
-        elif self.gravity_orientation == Gravity.UP:
-            if self.velocity.x != 0:
-                self.x_velocity = -self.velocity.x
-            if self.velocity.y != 0:
-                self.y_velocity = -self.velocity.y
-    
-        elif self.gravity_orientation == Gravity.RIGHT:
-            if self.velocity.y != 0:
-                self.x_velocity = -self.velocity.y
-            if self.velocity.x != 0:
-                self.y_velocity = self.velocity.x
-        else:
-            if self.velocity.x != 0:
-                self.x_velocity = self.velocity.x
-            if self.velocity.y != 0:
-                self.y_velocity = self.velocity.y
 
         self.air_time += dt # update air time
         # set states on ground
         if self.collide[self.gravity_orientation]:
             self.air_time = 0
             self.is_jumping = False
-        
+
         if self.primary_anchor_pos != None and not self.swing:
                 self.rope_length = (self.primary_anchor_pos - self.get_center()).magnitude()
 
@@ -346,8 +322,8 @@ class Player(HandlerPlayerEvent, PlayerDisplay):
                 set_swing(self, self.primary_anchor_pos, self.rope_length)
             else:
                 update_swing(self, dt, map_manager)
-        
-           
+
+
     def update(self, dt: float, map_manager: MapManager) -> None:
         """
         Called every frame by the main loop