Несколько способов
1. Использование сигналов
# В скрипте источника (например, Player.gd)
extends Node
var target_node: Node
func _ready():
connect("update_variable", target_node, "_on_Player_update_variable")
func update_variable(new_value):
emit_signal("update_variable", new_value)
# В скрипте получателя (например, AnotherNode.gd)
extends Node
func _on_Player_update_variable(new_value):
# Здесь обновляется переменная или выполняется другое действие
print("Переменная обновлена на:", new_value)
2. Использование глобальных переменных
# Глобальная переменная
@export var global_var: int = 0
# В скрипте, который изменяет переменную
func change_global_var(new_value):
global_var = new_value
# В любом другом скрипте, который читает переменную
func get_global_var():
return global_var
3. Использование родительских объектов или владельцев
# В дочернем объекте
func get_parent_var():
return owner.some_variable
# В родительском объекте
var some_variable: int = 42