Ściany cię zatrzymają
Część sekcji Wejście i ruch ścieżki Godot w Coddy. Lekcja 9 z 28.
Ściany i filar to węzły StaticBody2D. Ciało statyczne nigdy się nie porusza. Każde ma CollisionShape2D określający jego bryłę oraz ColorRect do jego narysowania.
Tylko move_and_slide() sprawdza, czy na drodze są ściany. Zmiana position przesuwa ciało bez sprawdzania, więc przenika ono przez ściany:
position.x += direction * speed * delta # przez ściany
velocity.x = direction * speed # zatrzymywane przez ściany
move_and_slide()Tekst po # to komentarz. Godot go pomija.
Ciało, które uderza w ścianę pod kątem, zachowuje część ruchu wzdłuż ściany. Ślizga się zamiast zatrzymywać, stąd nazwa move_and_slide().
Wyzwanie
ŁatwyTen bohater przechodzi przez filar i ściany. Poruszaj nim za pomocą velocity i move_and_slide(), aby ściany go zatrzymywały.
Spróbuj swoich sił
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * delta
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
2CharacterBody2D
CharacterBody2DPoruszaj się z prędkościąŚciany cię zatrzymająPoruszaj się wszędzieRówne przekątnePoćwicz samodzielnie: Edytor online Godot