Node2D to podstawowy węzeł w Godot do pracy z obiektami 2D. Jest to klasa bazowa dla wszystkich węzłów, które mają pozycję, obrót i skalę w przestrzeni 2D, ale sam w sobie nie zawiera żadnych specyficznych funkcji renderowania, kolizji czy fizyki. Możesz na nim opierać bardziej złożone elementy gry 2D, takie jak postacie, obiekty, efekty graficzne i wiele innych.
Główne właściwości Node2D
:
- Pozycja:
position
: Współrzędne pozycji w przestrzeni 2D.global_position
: Współrzędne pozycji w przestrzeni globalnej, uwzględniając hierarchię.
- Obrót:
rotation
: Kąt obrotu w radianach.global_rotation
: Globalny kąt obrotu, uwzględniając hierarchię.
- Skala:
scale
: Skala węzła w przestrzeni 2D.global_scale
: Globalna skala węzła.
- Hierarchia:
Node2D
może być rodzicem dla innych węzłów 2D, tworząc strukturę drzewa. Pozycje, rotacje i skale dzieci mogą być uzależnione od rodzica.
Przykład użycia Node2D
:
extends Node2D
func _ready():
# Ustaw pozycję węzła na współrzędne (100, 200)
position = Vector2(100, 200)
# Ustaw obrót węzła na 45 stopni (PI/4 radianów)
rotation = PI / 4
# Zmień skalę węzła na dwukrotność pierwotnej wielkości
scale = Vector2(2, 2)
# Wyświetl bieżącą globalną pozycję
print(global_position)
Główne zastosowanie
Node2D
:
- Podstawa dla obiektów 2D: Możesz go użyć jako bazowego węzła dla każdego obiektu 2D, który nie wymaga złożonych funkcji, takich jak renderowanie (jak w przypadku
Sprite2D
) czy fizyka (KinematicBody2D
). - Kontener hierarchii: Często używany jako rodzic dla grup węzłów, którymi chcesz manipulować jako całość. Na przykład, jeśli masz animowaną postać złożoną z kilku węzłów, możesz je wszystkie dodać jako dzieci jednego węzła
Node2D
i przemieszczać je razem.
Przykład użycia jako kontener hierarchii:
extends Node2D
func _ready():
# Dodajemy dzieci do tego węzła
var child1 = Node2D.new()
var child2 = Node2D.new()
# Ustawiamy pozycję dzieci
child1.position = Vector2(50, 0)
child2.position = Vector2(-50, 0)
# Dodajemy węzły do hierarchii
add_child(child1)
add_child(child2)
# Przesuwamy rodzica, co przesunie również wszystkie jego dzieci
position = Vector2(100, 100)
Podsumowanie:
Node2D
to bardzo uniwersalny węzeł 2D, który działa jako podstawowa jednostka w hierarchii węzłów w Godot dla scen 2D. Można go używać do dowolnych operacji na pozycjach, obrotach i skalach w przestrzeni 2D, a także jako rodzica dla bardziej złożonych struktur.