Fixed box glitch

main
Skyball2000 2023-03-29 16:17:34 +02:00
parent 51dd969e23
commit 9acea09359
1 changed files with 10 additions and 1 deletions

View File

@ -58,10 +58,19 @@ class PhysicsElementsHandler:
skip_sprites = [] skip_sprites = []
for sprite in sorted_dynamic_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': and not sprite.id == 'player':
skip_sprites.append(sprite) skip_sprites.append(sprite)
continue 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] sorted_dynamic_sprites = [sprite for sprite in sorted_dynamic_sprites if sprite not in skip_sprites]
closest_sprites: dict[UiElement, list[tuple[int, StaticSprite]]] = {} closest_sprites: dict[UiElement, list[tuple[int, StaticSprite]]] = {}