Bohater: Płynny bieg
Część sekcji Wejście i ruch ścieżki Godot w Coddy. Lekcja 25 z 28.
Bohater zaczyna się poruszać i zatrzymuje w ciągu jednej klatki. Spraw, by przyspieszał dzięki acceleration i zatrzymywał się dzięki friction:
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)Użyj wartości acceleration równej 1200 i friction równej 2400. Bohater osiąga pełną prędkość w około jedną piątą sekundy, więc nadal ma miejsce, by rozpędzić się przed przepaścią.
Wyzwanie
ŚredniSpraw, aby bohater płynnie przyspieszał i zatrzymywał się.
- Dodaj
var acceleration = 1200ivar friction = 2400. - Zapisz oś w
var direction. Gdy żaden klawisz nie jest wciśnięty, użyjmove_toward, aby przesunąćvelocity.xw stronę0o wartośćfriction * delta. - Gdy klawisz jest wciśnięty, użyj
move_towardz wartościądirection * speedi krokiemacceleration * delta.
Naciśnij „Graj”: bohater nabiera prędkości, po zatrzymaniu jeszcze trochę się ślizga i pokonuje przepaść. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
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()
Wszystkie lekcje w sekcji Wejście i ruch
2CharacterBody2D
CharacterBody2DPoruszaj się z prędkościąŚciany cię zatrzymająPoruszaj się wszędzieRówne przekątne5Projekt: Bohater platformówki
Bohater: BiegBohater: SkokPoćwicz samodzielnie: Edytor online Godot