Menu
CoddyTech

Allumer le moteur

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 12 sur 36.

La touche Haut allume le moteur et propulse le vaisseau dans la direction vers laquelle pointe sa proue. Vector2.UP est (0, -1). rotated(rotation) fait pivoter cette flèche du même angle que le vaisseau :

if Input.is_action_pressed("move_up"):
	velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * delta

Le moteur modifie la vitesse, pas la position. Quand tu relâches la touche Haut, le vaisseau continue de dériver. Pour t’arrêter, fais demi-tour et propulse-toi dans l’autre direction.

Le vaisseau possède un enfant Flame masqué. Affiche-le lorsque le moteur est allumé : $Flame.visible = Input.is_action_pressed("move_up").

challenge icon

Défi

Moyen

Fais en sorte que le moteur propulse le vaisseau.

  1. Ajoute const THRUST = 300.
  2. Tant que la touche Haut est maintenue, ajoute Vector2.UP.rotated(rotation) * THRUST * delta à velocity.
  3. Déplace le vaisseau de velocity * delta à chaque image, que la touche soit maintenue ou non.
  4. Affiche $Flame uniquement tant que la touche Haut est maintenue.

Appuie sur « Jouer » et maintiens la touche Haut : la flamme brûle et le vaisseau continue de dériver après que tu as relâché la touche. Ensuite, appuie sur « Vérifier ».

Essayez vous-même

extends CharacterBody2D

const TURN_SPEED = 4.0

func _physics_process(delta):
	rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta

Toutes les leçons de Projets

Entraînez-vous par vous-même : Playground Godot