Menu
CoddyTech

Mettre le moteur en marche

Fait partie de la section Projets du Journey Godot de Coddy. Leçon 11 sur 33.

La touche Haut allume le moteur et propulse le vaisseau dans la direction vers laquelle pointe son nez. Vector2.UP vaut (0, -1). rotated(rotation) fait pivoter cette flèche autant que le vaisseau a tourné :

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 sens.

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

challenge icon

Défi

Moyen
  1. Ajoute const THRUST = 300.
  2. Tant que la touche Haut est maintenue, ajoute Vector2.UP.rotated(rotation) * THRUST * delta à la velocity du vaisseau.
  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.

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
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Projets

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