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@export
pojawi 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:
@export
można używać z różnymi typami danych, np.:
- Proste typy:
int
,float
,bool
,String
- Złożone typy:
Vector3
,Color
,NodePath
,Array
,Dictionary
Przykł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:
@export
moż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