Fix des timer attaque + ajout tableau slot attaque
This commit is contained in:
parent
e9952f4ec9
commit
4040779923
11 changed files with 155 additions and 106 deletions
|
@ -9,20 +9,30 @@ var boost_speed = 0
|
|||
|
||||
var flute = null
|
||||
var tambour = null
|
||||
var lyre = null
|
||||
|
||||
# Slot actif (0 = Flûte, 1 = Tambour)
|
||||
var active_slot = 0
|
||||
var flute_timer = 0.0
|
||||
var tambour_timer = 0.0
|
||||
var lyre_timer = 0.0
|
||||
|
||||
var flute_timer = 0
|
||||
var flute_cooldown = 0.5
|
||||
var tambour_cooldown = 3.0
|
||||
var lyre_cooldown = 1
|
||||
|
||||
var slot = [null, null]
|
||||
|
||||
func _ready() -> void:
|
||||
flute = load("res://scripts/Instrument/Flute.gd").new()
|
||||
flute.set_scene_parent(get_tree().get_root())
|
||||
slot.append(flute)
|
||||
|
||||
tambour = load("res://scripts/Instrument/Tambour.gd").new()
|
||||
tambour.set_scene_parent(get_tree().get_root())
|
||||
|
||||
|
||||
|
||||
lyre = load("res://scripts/Instrument/Lyre.gd").new()
|
||||
lyre.set_scene_parent(get_tree().get_root())
|
||||
slot.append(lyre)
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
move_and_slide()
|
||||
|
@ -32,7 +42,6 @@ func _process(delta: float) -> void:
|
|||
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:
|
||||
|
@ -42,31 +51,51 @@ func _process(delta: float) -> void:
|
|||
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
|
||||
|
||||
previous_direction = direction
|
||||
velocity = direction * (move_speed + boost_speed)
|
||||
else:
|
||||
velocity = Vector2.ZERO
|
||||
|
||||
var direction_balle = Vector2.ZERO
|
||||
var angle = 0
|
||||
var angle_lyre = 0
|
||||
if Input.is_action_pressed("JOUER_MUSIQUE_HAUT"):
|
||||
direction_balle = Vector2(0, -1)
|
||||
angle = 180
|
||||
angle_lyre = 270
|
||||
|
||||
elif Input.is_action_pressed("JOUER_MUSIQUE_BAS"):
|
||||
direction_balle = Vector2(0, 1)
|
||||
angle = 0
|
||||
angle_lyre = 90
|
||||
|
||||
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 direction_balle != Vector2.ZERO :
|
||||
if active_slot == 0: # Slot Flûte
|
||||
flute.jouer_melodie(position, direction_balle, angle)
|
||||
elif active_slot == 1: # Slot Tambour
|
||||
tambour.jouer_melodie(position)
|
||||
angle_lyre = 180
|
||||
|
||||
if flute_timer > 0:
|
||||
flute_timer -= delta
|
||||
|
||||
pass
|
||||
if tambour_timer > 0:
|
||||
tambour_timer -= delta
|
||||
|
||||
if lyre_timer > 0:
|
||||
lyre_timer -= delta
|
||||
|
||||
if flute and flute_timer <= 0.0 and direction_balle != Vector2.ZERO:
|
||||
flute.jouer_melodie(position, direction_balle, angle)
|
||||
flute_timer = flute_cooldown
|
||||
|
||||
if tambour and tambour_timer <= 0.0 and direction_balle != Vector2.ZERO:
|
||||
tambour.jouer_melodie(position)
|
||||
tambour_timer = tambour_cooldown
|
||||
|
||||
if lyre and lyre_timer <= 0.0 and direction_balle != Vector2.ZERO:
|
||||
lyre.jouer_melodie(position, direction_balle, angle_lyre)
|
||||
lyre_timer = lyre_cooldown
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue