W Godot 4 @export jest atrybutem używanym do oznaczania zmiennych, które można edytować bezpośrednio w inspektorze edytora scen, co pozwala na ich łatwe przypisywanie i modyfikowanie z poziomu edytora, bez konieczności zmieniania kodu.

Różnice w stosunku do wcześniejszych wersji:
W Godot 3.x używano funkcji export przed deklaracją zmiennej, np.:
export var health: int = 100
W Godot 4 zmieniono składnię na @export, która teraz działa jako atrybut przypisany przed zmienną.
Jak działa @export w Godot 4:
- Deklaracja zmiennych z
@export:
Zmienna oznaczona jako@exportpojawi się w inspektorze, dzięki czemu można ją ustawiać dla każdego obiektu indywidualnie. Przykład:
@export var health: int = 100
- Eksportowanie różnych typów:
@exportmożna używać z różnymi typami danych, np.:
- Proste typy:
int,float,bool,String - Złożone typy:
Vector3,Color,NodePath,Array,DictionaryPrzykład dlaNodePath:
@export var player_path: NodePath
- Przykład z inspektorem:
Dzięki temu w inspektorze będziesz mógł przypisać ręcznie zmiennąplayer_path, wybierając odpowiedni węzeł z drzewa scen. To eliminuje potrzebę wpisywania ścieżki bezpośrednio w kodzie.
@export var player_path: NodePath
func _ready():
var player_node = get_node(player_path)
if player_node:
print("Gracz został znaleziony!")
else:
print("Gracz nie został znaleziony!")
- Użycie w dynamicznych typach:
@exportmoże być również używany z zasobami, takimi jak materiały, dźwięki, tekstury itd. Przykład z teksturą:
@export var character_texture: Texture2D
- Domyślne wartości:
Możesz ustawić domyślną wartość eksportowanej zmiennej, a następnie zmienić ją z poziomu inspektora. Zmienna będzie miała domyślną wartość w momencie uruchomienia, jeśli nie zostanie zmieniona ręcznie w edytorze. Przykład:
@export var speed: float = 10.0
- Eksportowanie wyliczeń (enums):
Możesz eksportować wyliczenia (enum) w inspektorze, co pozwala na wybieranie opcji z listy rozwijanej. Przykład:
enum WeaponType { SWORD, GUN, BOW }
@export var weapon_type: WeaponType = WeaponType.SWORD
- Ograniczenia dla wartości:
Możesz ustawiać ograniczenia dla eksportowanych zmiennych, np. zakresy dla wartości liczbowych, co zapewnia, że wartości wprowadzone w inspektorze mieszczą się w określonym przedziale. Przykład:
@export_range(0, 100) var health: int = 100
Przykład użycia @export w pełnym kontekście:
extends CharacterBody3D
@export var speed: float = 10.0
@export var health: int = 100
@export var player_path: NodePath # Ścieżka do gracza ustawiana w inspektorze
func _ready():
var player_node = get_node_or_null(player_path)
if player_node:
print("Gracz znaleziony!")
else:
print("Gracz nie został znaleziony!")
W inspektorze możesz teraz łatwo ustawić wartość player_path na ścieżkę do gracza oraz zmieniać wartości speed i health bez potrzeby modyfikacji kodu.
Podsumowanie:
@export w Godot 4 służy do oznaczania zmiennych, które mają być widoczne i edytowalne w inspektorze. Jest to przydatne, gdy chcesz dostosować zachowanie różnych instancji scen bez konieczności modyfikowania kodu, co zwiększa elastyczność i ułatwia zarządzanie projektem.





Dodaj komentarz