class_name Voiture extends Area2D var prevPositionX = 0; var prevPositionY = 0; func updatePosition(x: float, y: float) -> void: var velocityX = prevPositionX - x; var velocityY = prevPositionY - y; $shapeDown.set_deferred("disabled", true); $shapeUp.set_deferred("disabled", true); $shapeLeft.set_deferred("disabled", true); $shapeRight.set_deferred("disabled", true); if(abs(velocityX) > abs(velocityY)): if velocityX > 0 : $AnimatedSprite2D.animation = "driving_left"; $shapeLeft.set_deferred("disabled", false); if velocityX < 0 : $AnimatedSprite2D.animation = "driving_right"; $shapeRight.set_deferred("disabled", false); if(abs(velocityX) < abs(velocityY)): if velocityY > 0 : $AnimatedSprite2D.animation = "driving_up"; $shapeUp.set_deferred("disabled", false); if velocityY < 0 : $AnimatedSprite2D.animation = "driving_down"; $shapeDown.set_deferred("disabled", false); prevPositionX = x; prevPositionY = y; # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: $AnimatedSprite2D.play()