Camera2D
w Godot 4 to węzeł kamery przeznaczony do pracy w przestrzeni 2D, umożliwiający śledzenie obiektów, dostosowywanie widoku, a także tworzenie efektów takich jak przybliżanie (zoom) i drżenie ekranu. Jest to podstawowe narzędzie do zarządzania perspektywą w grach 2D, pozwalające na tworzenie dynamicznych scen i angażujących wrażeń wizualnych.
Cechy Camera2D
:
- Śledzenie obiektów:
Camera2D
może podążać za wybranym obiektem w grze, np. za graczem, zapewniając, że zawsze jest w centrum ekranu. - Dostosowywanie obszaru śledzenia: Możesz ustawić limity, aby ograniczyć obszar, po którym kamera się porusza.
- Efekty zoomu i drżenia ekranu:
Camera2D
oferuje efekty powiększenia (zoom) i drżenia, co nadaje dynamikę w odpowiednich momentach w grze, np. podczas eksplozji czy skoków. - Bezproblemowa współpraca z
ParallaxBackground
:Camera2D
automatycznie wpływa naParallaxBackground
, tworząc efekt paralaksy bez dodatkowej konfiguracji.
Jak używać Camera2D
w Godot 4
1. Dodanie Camera2D
do sceny
- W drzewie scen kliknij „Dodaj węzeł”.
- Wyszukaj
Camera2D
i dodaj go do swojej sceny. - Ustaw kamerę jako dziecko obiektu, który ma być śledzony (np. gracza), aby kamera automatycznie podążała za nim w grze.
2. Ustawienie Current
na aktywną kamerę
Aby Camera2D
była aktywna w grze, upewnij się, że opcja Current
w inspektorze jest zaznaczona. Możesz również ustawić kamerę jako aktywną w skrypcie:
$Camera2D.current = true
3. Konfiguracja Camera2D
- Zoom:
Zoom
pozwala na ustawienie przybliżenia widoku. Domyślnie ustawienie wynosi(1, 1)
. Mniejsze wartości (np.(0.5, 0.5)
) zwiększają powiększenie, a większe wartości (np.(2, 2)
) zmniejszają.
$Camera2D.zoom = Vector2(1.5, 1.5) # Powiększenie o 50%
- Offset:
Offset
pozwala na przesunięcie kamery względem jej pozycji. Może być przydatne do ustawienia kamery tak, aby gracz znajdował się w określonym punkcie ekranu.
- Limit Left, Right, Top, Bottom:
- Ustawia limity ruchu kamery, co zapobiega wyjściu kamery poza wyznaczony obszar. Przydatne, jeśli chcesz ograniczyć kamerę do obszaru poziomu gry.
$Camera2D.limit_left = 0
$Camera2D.limit_right = 1024
$Camera2D.limit_top = 0
$Camera2D.limit_bottom = 768
- Drag Margin:
Drag Margin
określa margines, w którym kamera zaczyna podążać za obiektem. Gdy obiekt znajdzie się poza tym marginesem, kamera zacznie się poruszać, co zapewnia płynniejszy efekt śledzenia.
- Smoothing (Wygładzanie):
- Włączenie opcji
Smoothing
powoduje płynniejsze podążanie kamery za obiektem. Możesz dostosowaćSmoothing Speed
do swoich potrzeb.
4. Efekty Camera2D
: Zoom i drżenie ekranu
- Efekt Zoomu:
- Możesz dynamicznie zmieniać poziom zoomu kamery, aby uzyskać różne efekty. Na przykład, przybliżenie na chwilę podczas skoku lub oddalenie, aby pokazać większy obszar.
func _on_player_jump():
$Camera2D.zoom = Vector2(0.8, 0.8) # Przybliżenie
- Efekt Drżenia ekranu:
Camera2D
ma wbudowany efekt drżenia ekranu, który jest przydatny podczas wybuchów, zderzeń czy mocnych uderzeń. Możesz wywołać efekt drżenia za pomocą skryptu:
$Camera2D.start_shake(intensity=5, speed=20, time=0.5)
5. Przykład skryptu: Konfiguracja kamery w grze 2D
Poniższy przykład pokazuje konfigurację kamery, która podąża za graczem, używa zoomu i ma ograniczenia ruchu.
extends Camera2D
func _ready():
current = true # Ustawia kamerę jako aktywną
limit_left = 0
limit_right = 2000
limit_top = 0
limit_bottom = 1000
zoom = Vector2(1, 1)
smoothing_enabled = true
smoothing_speed = 5.0
Funkcja zmieniająca zoom kamery w trakcie gry
func zoom_in():
zoom = Vector2(0.8, 0.8)
func zoom_out():
zoom = Vector2(1.2, 1.2)
W tym przykładzie kamera ma ograniczenia ruchu, płynne śledzenie oraz dynamiczny zoom.
6. Przykłady zastosowania Camera2D
w grach
- Platformówki:
Camera2D
jest idealna do gier platformowych, w których kamera podąża za graczem, pokazując odpowiednio dużą część poziomu, aby gracz widział, co jest przed nim.
- Gry wyścigowe 2D:
- Możesz używać
Camera2D
do śledzenia samochodu, zbliżania widoku przy dużej prędkości i drżenia ekranu przy kolizjach.
- Gry przygodowe i akcji:
- W grach przygodowych lub akcji,
Camera2D
może być skonfigurowana, aby pokazywać większy obszar w sytuacjach, gdy gracz porusza się po otwartym terenie lub zawężać widok w zamkniętych przestrzeniach.
- Gry ze strzelaniem:
- Drżenie kamery podczas wybuchów i strzałów dodaje dynamiki i sprawia, że gra wydaje się bardziej intensywna.
Właściwości Camera2D
current
: Określa, czy kamera jest aktywna. Tylko jedna Camera2D
może być aktywna w danej chwili.
zoom
: Ustawia poziom przybliżenia kamery.
limit_left
, limit_right
, limit_top
, limit_bottom
: Ograniczenia obszaru, po którym może się poruszać kamera.
offset
: Przesunięcie kamery względem śledzonego obiektu.
smoothing_enabled
i smoothing_speed
: Umożliwiają płynne śledzenie obiektu, kontrolując szybkość tego ruchu.
Podsumowanie:
Camera2D
w Godot 4 to wszechstronne narzędzie do zarządzania kamerą w grach 2D. Dzięki licznym opcjom śledzenia, efektom zoomu, drżenia i wygładzania, Camera2D
pozwala dostosować perspektywę w sposób, który wspiera dynamikę i estetykę gry. Dostosowanie właściwości kamery pozwala na tworzenie angażujących efektów wizualnych, które zwiększają wrażenie ruchu i immersji w grze.
Published using WordPress Blurt Publisher from https://godot.com.pl.