diff --git a/project/physics/PhysicsElementsHandler.py b/project/physics/PhysicsElementsHandler.py index 2f38802..ecb5274 100644 --- a/project/physics/PhysicsElementsHandler.py +++ b/project/physics/PhysicsElementsHandler.py @@ -58,10 +58,19 @@ class PhysicsElementsHandler: skip_sprites = [] for sprite in sorted_dynamic_sprites: - if sprite.last_effective_motion == (0, 0) and random.randint(0, 100) > 50\ + if sprite.last_effective_motion == (0, 0) and random.randint(0, 100) > 50 \ and not sprite.id == 'player': skip_sprites.append(sprite) continue + + # remove all skip sprites that are closer than 100 pixels to the player + players = [sprite for sprite in sprites if hasattr(sprite, 'id') and sprite.id == 'player'] + if len(players) > 0: + player = players[0] + for sprite in skip_sprites: + if sprite.position_scale.position[1] - player.position_scale.position[1] < 100: + skip_sprites.remove(sprite) + sorted_dynamic_sprites = [sprite for sprite in sorted_dynamic_sprites if sprite not in skip_sprites] closest_sprites: dict[UiElement, list[tuple[int, StaticSprite]]] = {}