Menu
CoddyTech

CharacterBody2D

Część sekcji Wejście i ruch ścieżki Godot w Coddy. Lekcja 7 z 28.

Node2D przenika przez ściany. CharacterBody2D zderza się z obiektami. W karcie Scene węzeł Hero jest teraz typu CharacterBody2D. Jego węzeł podrzędny CollisionShape2D ma kształt koła, który wyznacza rozmiar bohatera jako bryły. Ściany i filar również mają kształty kolizji.

Obiekt ma velocity, czyli Vector2 określający prędkość w pikselach na sekundę. Samo ustawienie tej wartości niczego nie przesuwa. move_and_slide() przesuwa obiekt z jego prędkością przez jedną klatkę i zatrzymuje go na każdej solidnej przeszkodzie:

func _physics_process(delta):
	velocity = Vector2(150, 0)
	move_and_slide()

Przesuwaj obiekty w _physics_process, który działa w synchronizacji z fizyką. move_and_slide() uwzględnia czas trwania klatki, więc nigdy nie mnoż velocity przez delta.

challenge icon

Wyzwanie

Łatwy

Prędkość bohatera velocity jest ustawiona na 150 pikseli na sekundę w prawo. Wywołaj move_and_slide(), aby się poruszył i zatrzymał przy filarze.

Spróbuj swoich sił

extends CharacterBody2D

func _physics_process(delta):
	velocity = Vector2(150, 0)
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejście i ruch

Poćwicz samodzielnie: Edytor online Godot