Przejdź przez loch
Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 29 z 36.
Ostatni projekt to gra typu dungeon crawler z widokiem z góry. Bohater podnosi klucz, otwiera drzwi, mija strażnika i dociera do schodów.
Skrypty to hero.gd, enemy.gd i main.gd. Ściany to obiekt StaticBody2D o nazwie Walls, który już znajduje się w scenie.
Bohater porusza się w czterech kierunkach. Input.get_vector odczytuje wszystkie cztery klawisze i zwraca kierunek o długości 1, więc ruch po przekątnej nie jest szybszy. move_and_slide() przesuwa obiekt zgodnie z jego velocity i ślizga go wzdłuż ścian:
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()move_and_slide samo korzysta z delta, więc nie mnożysz przez tę wartość.
Wyzwanie
ŁatwyPrzeprowadź bohatera przez loch.
- W pliku
hero.gddodajconst SPEED = 160. - W każdej klatce fizyki ustaw
velocityna wynikInput.get_vectordla czterech akcji ruchu pomnożony przezSPEED, a następnie wywołajmove_and_slide().
Naciśnij „Graj” i poruszaj się: ściany zatrzymają bohatera. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends CharacterBody2D
func _physics_process(delta):
pass
Wszystkie lekcje w sekcji Projekty
1Projekt: Breakout
Paletka w BreakoutUtrzymaj paletkę na ekranie4Projekt: Podziemny labirynt
Przejdź przez lochPodnieś kluczPoćwicz samodzielnie: Edytor online Godot