Funkcja set()

in polish •  16 days ago 

Funkcja set() w GDScript (języku Godot) jest używana do definiowania tzw. setterów, które są funkcjami przypisywanymi do zmiennych lub właściwości obiektów. Zastosowanie tej funkcji pozwala na automatyczne wykonywanie kodu, kiedy dana właściwość obiektu jest zmieniana, co umożliwia dodanie logiki walidacji, reakcji na zmianę wartości lub dodatkowych operacji.

Definiowanie settera przy użyciu set():

Przykład:

var _value: int

func set_value(value):
_value = value
print("Wartość została zmieniona na:", value)

func get_value():
return _value

W tym przykładzie:

  • set_value() jest funkcją, która działa jako setter. Wykonuje się, gdy zmieniasz wartość przypisaną do _value.
  • Dodatkowo, można zdefiniować również funkcję getter (np. get_value()), która pozwala na kontrolowany dostęp do wartości.

Przypisanie settera:

W Godot możesz powiązać zmienną bezpośrednio z setterem i getterem, używając słowa kluczowego setget:

var my_value: int setget set_value, get_value

Oznacza to, że kiedy ustawiasz wartość my_value, funkcja set_value automatycznie się uruchamia, umożliwiając walidację lub inne działania, np. aktualizację UI.

Przykład praktyczny:

var health: int setget set_health

func set_health(value):
health = clamp(value, 0, 100) # Zapewnia, że zdrowie jest między 0 a 100
print("Aktualne zdrowie:", health)

Tutaj setter set_health sprawdza, czy wartość zdrowia jest w zakresie od 0 do 100, zanim przypisze nową wartość do zmiennej health.

Zastosowanie w praktyce:

  • Walidacja danych: Sprawdzanie, czy przypisana wartość jest poprawna przed jej zapisaniem.
  • Zarządzanie UI: Automatyczna aktualizacja elementów UI w reakcji na zmianę wartości.
  • Powiązanie logiki z właściwościami: Wywołanie dodatkowej logiki przy każdej zmianie właściwości, np. odświeżenie innych komponentów w zależności od wartości zmiennej.

Funkcja set() w GDScript jest bardzo przydatna, jeśli potrzebujesz większej kontroli nad modyfikacją danych, szczególnie w przypadku bardziej złożonych scenariuszy w projektach Godot.


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!