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:
13
princesse.gd
13
princesse.gd
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user