princesse/collision: correction du bug pic+mur

Dans le bug du pic+mur, si princesse était en colluision avec un mur et
des pics à la fois et toujours en train de marcher en direction du mur
pour forcer la collision avec celui ci, alors les pics n'étaient pas
traités car en ne récupérant que la dernière collision au lieu de toutes
les collisions c'était au petit bonheur la chance.

Maintenant le petit bonheur n'est plus là, la chance est partie et ça
marche à chaque fois!
This commit is contained in:
Thomas Lavocat
2023-04-30 17:23:11 +02:00
parent b92b7e87fb
commit 338da55169

View File

@@ -270,13 +270,12 @@ func play_animation() -> void:
func move_and_handle_collisions() -> void:
# Bouge Princesse et réagis aux éléments avec lesquels elle rentre en collision
var collision = move_and_slide()
if collision:
var collider = get_last_slide_collision().get_collider()
if collider is TileMap:
var tile_rid = get_last_slide_collision().get_collider_rid()
layer_of_collision = PhysicsServer2D.body_get_collision_layer(tile_rid)
if layer_of_collision == PICS_BLOCK_LAYER:
get_tree(). reload_current_scene()
for i in get_slide_collision_count():
var collider : KinematicCollision2D= get_slide_collision(i)
var tile_rid = collider.get_collider_rid()
layer_of_collision = PhysicsServer2D.body_get_collision_layer(tile_rid)
if layer_of_collision == PICS_BLOCK_LAYER:
get_tree(). reload_current_scene()
func get_coyote(table: Array):