Dekorator @export_group – po co się go stosuje?

in polish •  last month 

Dekorator @export_group("Nazwa grupowania") jest używany w Godot 4, aby grupować właściwości w edytorze pod wspólną nazwą. Tego typu grupowanie jest przydatne, gdy masz wiele zmiennych związanych z różnymi aspektami obiektu (np. gracza), i chcesz, aby były one wyświetlane razem w edytorze, co ułatwia zarządzanie.

Kiedy to stosować?

  • Porządkowanie parametrów: Gdy masz wiele zmiennych, możesz grupować je tematycznie (np. atrybuty postaci, ustawienia fizyczne).
  • Ułatwienie nawigacji: W edytorze wszystko jest czytelnie pogrupowane.

Dzięki temu kod jest bardziej uporządkowany, zarówno w skrypcie, jak i w edytorze Godot.

Oto praktyczny przykład wykorzystania dekoratora @export_group() w Godot 4, który pokazuje, jak można pogrupować różne właściwości gracza, aby były łatwiejsze do zarządzania w edytorze:

Przykład użycia:

extends CharacterBody3D

Grupa właściwości związanych z postacią gracza

@export_group("Atrybuty Gracza")
@export var health: int = 100
@export var stamina: float = 50.0
@export var speed: float = 5.0

Grupa właściwości związanych z mechaniką walki

@export_group("Walka")
@export var attack_power: int = 20
@export var defense: int = 10
@export var critical_hit_chance: float = 0.15

Grupa właściwości związanych z ruchem

@export_group("Ruch")
@export var jump_height: float = 2.5
@export var run_speed: float = 7.0

Co się dzieje w edytorze:

  1. Grupowanie w edytorze: Właściwości zostaną pogrupowane w sekcje o nazwach „Atrybuty Gracza”, „Walka”, i „Ruch” w oknie właściwości obiektu w edytorze Godot.
  2. Ułatwiona organizacja: Gdy otworzysz obiekt w edytorze, wszystkie atrybuty będą uporządkowane tematycznie, co ułatwia zarządzanie parametrami.

Dlaczego to jest użyteczne:

  • Zarządzanie skomplikowanymi obiektami: Kiedy masz wiele zmiennych, grupowanie pomaga uniknąć chaosu i zapewnia lepszą strukturę.
  • Czytelność i wygoda: Zamiast przewijać listę zmiennych, możesz łatwo odnaleźć właściwości związane z konkretnymi aspektami postaci, np. atrybutami walki lub ruchem.

Dekorator @export_group() służy wyłącznie do organizacji i grupowania zmiennych w edytorze, co oznacza, że nie można bezpośrednio odwołać się do tych grup w kodzie, jak np. do samego dekoratora lub nazwy grupy. Jego zastosowanie ma na celu jedynie porządkowanie zmiennych w interfejsie edytora Godot, aby łatwiej nimi zarządzać.

Możliwości dekoratora:

  • Wewnątrz skryptu: Dekorator @export_group() jest wyłącznie narzędziem dla edytora, więc nie wpływa bezpośrednio na działanie skryptu ani nie można go dynamicznie odczytywać czy manipulować w kodzie.
  • W edytorze: Dzięki temu zmienne zostają pogrupowane tematycznie w oknie właściwości.

Alternatywne metody dla dynamicznych operacji:

Jeśli potrzebujesz dynamicznie odwoływać się do grup zmiennych lub operować na nich w kodzie, możesz użyć zwykłych tablic, słowników lub klasy do organizowania zmiennych, a dekoratorów @export używać w podstawowej formie bez grupowania, jak poniżej:

@export var health: int = 100
@export var attack_power: int = 20

Użycie tablicy do zarządzania atrybutami:

var attributes = {
"health": health,
"attack_power": attack_power
}

func update_attribute(attribute_name: String, value: int):
if attributes.has(attribute_name):
attributes[attribute_name] = value
print(attribute_name, " updated to ", value)

W tym przypadku masz możliwość dynamicznej pracy na zmiennych, ale nie w kontekście @export_group.


Published using WordPress Blurt Publisher from https://godot.com.pl.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!
Sort Order:  
  ·  last month  ·  

O. Tego nie znałem :)

  ·  last month  ·  

A no widzisz :P ja ide przez wszystkie pojęcia podązając za analizą kodu i wieczorami sobie sprawdzam z 2 -3 pojęcia w chwili wolnej idąc za tym co znajduje w róznych projektach demo do pobrania żeby zrozumiec co tam sie dzieje ;)