extends CharacterBody2D const move_speed = 400 const acceleration = 0.25 const max_boost_speed = 800 var previous_direction = Vector2.ZERO var boost_speed = 0 var flute = null var tambour = null # Slot actif (0 = Flûte, 1 = Tambour) var active_slot = 0 func _ready() -> void: flute = load("res://scripts/Instrument/Flute.gd").new() flute.set_scene_parent(get_tree().get_root()) tambour = load("res://scripts/Instrument/Tambour.gd").new() tambour.set_scene_parent(get_tree().get_root()) func _physics_process(delta: float) -> void: move_and_slide() func _process(delta: float) -> void: var direction : Vector2 = Vector2.ZERO direction.x = Input.get_action_raw_strength("BOUGER_DROITE") - Input.get_action_raw_strength("BOUGER_GAUCHE") direction.y = Input.get_action_raw_strength("BOUGER_BAS") - Input.get_action_raw_strength("BOUGER_HAUT") if direction != Vector2.ZERO: if direction == previous_direction: if direction.x != 0 and direction.y != 0: boost_speed = min(boost_speed + acceleration / 16, (max_boost_speed - move_speed) / 8) else: boost_speed = min(boost_speed + acceleration, max_boost_speed - move_speed) else: boost_speed = 0 previous_direction = direction velocity = direction * (move_speed + boost_speed) if Input.is_action_just_pressed("CHANGER_SLOT"): active_slot = (active_slot + 1) % 2 if Input.is_action_pressed("JOUER_MUSIQUE_HAUT") or Input.is_action_pressed("JOUER_MUSIQUE_BAS") or Input.is_action_pressed("JOUER_MUSIQUE_DROITE") or Input.is_action_pressed("JOUER_MUSIQUE_GAUCHE"): var direction_balle = Vector2.ZERO var angle = 0 if Input.is_action_pressed("JOUER_MUSIQUE_HAUT"): direction_balle = Vector2(0, -1) angle = 180 elif Input.is_action_pressed("JOUER_MUSIQUE_BAS"): direction_balle = Vector2(0, 1) angle = 0 elif Input.is_action_pressed("JOUER_MUSIQUE_DROITE"): direction_balle = Vector2(1, 0) angle = 270 elif Input.is_action_pressed("JOUER_MUSIQUE_GAUCHE"): direction_balle = Vector2(-1, 0) angle = 90 if active_slot == 0: # Slot Flûte flute.jouer_melodie(position, direction_balle, angle) elif active_slot == 1: # Slot Tambour tambour.jouer_melodie(position) pass