From 8bfff127459d500db438690d6ea1a472f58e78b3 Mon Sep 17 00:00:00 2001 From: luisgulo Date: Sun, 4 Oct 2026 15:26:44 +0200 Subject: [PATCH] Ordenacion 3D correcta para evitar 'montaje de objetos' --- highway_vector.py | 8 ++++++-- img-versiones/version_3.1.png | Bin 0 -> 18586 bytes 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 img-versiones/version_3.1.png diff --git a/highway_vector.py b/highway_vector.py index 2fb09c4..29c6a02 100644 --- a/highway_vector.py +++ b/highway_vector.py @@ -171,8 +171,12 @@ class Entity: screen_x, screen_y = grid_to_iso(self.gx, self.gy, self.gz) sprite = sprite_mgr.get_sprite(self.sprite_name, self.filename) + # Centrar horizontalmente respecto a la casilla draw_x = screen_x + camera_offset_x - (sprite.get_width() // 2) - draw_y = screen_y + camera_offset_y - (sprite.get_height() // 2) + # Anclar en la BASE de la casilla (no en el centro) para que no se "hunda" + draw_y = ( + screen_y + camera_offset_y - sprite.get_height() + (TILE_HEIGHT // 2) + ) surface.blit(sprite, (draw_x, draw_y)) @@ -512,7 +516,7 @@ class Game: all_drawables = self.entities + self.bullets + self.spares sorted_entities = sorted( - all_drawables, key=lambda e: e.gy, reverse=True + all_drawables, key=lambda e: e.gy + e.gx ) for entity in sorted_entities: entity.draw( diff --git a/img-versiones/version_3.1.png b/img-versiones/version_3.1.png new file mode 100644 index 0000000000000000000000000000000000000000..e74097d987f1d80e4c14130a8d0f614d729b09e4 GIT binary patch literal 18586 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 literal 0 HcmV?d00001