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 * deltaLe 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").
Défi
Moyen- Ajoute
const THRUST = 300. - Tant que la touche Haut est maintenue, ajoute
Vector2.UP.rotated(rotation) * THRUST * deltaà lavelocitydu vaisseau. - Déplace le vaisseau de
velocity * deltaà chaque image, que la touche soit maintenue ou non. - Affiche
$Flameuniquement 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
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
2Projet : jeu de tir d’astéroïdes
Faire tourner le vaisseauMettre le moteur en marcheEntraînez-vous par vous-même : Playground Godot