Held: Gleichmäßig laufen
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 25 von 28.
Die Spielfigur setzt sich innerhalb eines einzigen Frames in Bewegung und kommt wieder zum Stillstand. Lass sie mit acceleration beschleunigen und mit friction abbremsen:
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)Verwende für acceleration den Wert 1200 und für friction den Wert 2400. Die Spielfigur erreicht ihre volle Geschwindigkeit in etwa einer Fünftelsekunde, sodass sie am Abgrund noch genug Platz zum Laufen hat.
Aufgabe
MittelLass den Helden beschleunigen und sanft anhalten.
- Füge
var acceleration = 1200undvar friction = 2400hinzu. - Speichere die Achse in
var direction. Wenn keine Taste gedrückt wird, bewegevelocity.xmitmove_towardumfriction * deltain Richtung0. - Wenn eine Taste gedrückt wird, bewege dich mit
move_towardumacceleration * deltain Richtungdirection * speed.
Drücke „Spielen“: Der Held nimmt an Geschwindigkeit auf, rutscht ein wenig, wenn du anhältst, und überwindet die Grube. Drücke dann „Prüfen“.
Probier es selbst
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Alle Lektionen in Eingabe und Bewegung
2CharacterBody2D
CharacterBody2DMit Geschwindigkeit laufenWände halten dich aufÜberall laufenAusgewogene Diagonalen5Projekt: Plattformheld
Held: LaufenHeld: SpringenÜbe selbstständig: Godot-Playground