Menu
CoddyTech

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ść.

challenge icon

Wyzwanie

Łatwy

Przeprowadź bohatera przez loch.

  1. W pliku hero.gd dodaj const SPEED = 160.
  2. W każdej klatce fizyki ustaw velocity na wynik Input.get_vector dla czterech akcji ruchu pomnożony przez SPEED, a następnie wywołaj move_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

Poćwicz samodzielnie: Edytor online Godot