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 * 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 direction.
Le vaisseau possède un enfant Flame masqué. Affiche-le lorsque le moteur est allumé : $Flame.visible = Input.is_action_pressed("move_up").
Défi
MoyenFais en sorte que le moteur propulse le vaisseau.
- Ajoute
const THRUST = 300. - Tant que la touche Haut est maintenue, ajoute
Vector2.UP.rotated(rotation) * THRUST * deltaàvelocity. - 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.
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