Held: Gleichmäßig laufen
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 25 von 28.
Der Held startet und stoppt innerhalb eines einzigen Frames. Lass ihn mit acceleration beschleunigen und mit friction anhalten:
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 eine acceleration von 1200 und eine friction von 2400. Der Held erreicht seine volle Geschwindigkeit in etwa einem Fünftel einer Sekunde, sodass er noch genügend Platz hat, um zur Grube zu laufen.
Aufgabe
MittelFüge die Variablen acceleration (1200) und friction (2400) hinzu. Wenn eine Taste gedrückt gehalten wird, beschleunige den Helden in Richtung direction * speed mithilfe von acceleration. Wenn keine Taste gedrückt gehalten wird, verlangsame ihn mithilfe von friction auf 0.
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()
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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