无法使用 get_node() 定位子标签(GD 脚本)
Unable to use get_node() to locate a Label Child (GD script)
我正在尝试通过附加到其父级“Shadow Settings”(也是一个标签)的脚本来获取我的 Label 节点“ON”。问题是,我一直收到这个错误,
E 0:00:08.208 get_node: (Node not found: "ON" (relative to "/root/ShadowsSettings").)
<C++ Error> Condition "!node" is true. Returned: __null
<C++ Source> scene/main/node.cpp:1371 @ get_node()
<Stack Trace> Shadows Settings.gd:15 @ _process()
这是我的代码,
extends Label
var Shadows_On = true
func _process(_delta):
if not Shadows_On:
get_node("ON").visible = false
get_node("OFF").visible = true
else:
get_node("ON").visible = true
get_node("OFF").visible = false
func _on_SettingsButton_button_up():
if get_parent().get_parent().get_parent().visible:
if Shadows_On:
Shadows_On = false
else:
Shadows_On = true
请帮助我,我已经被困了好几天试图解决你认为很容易解决的问题。
问题是您没有为 get_node 函数提供完整的节点路径。
最简单的解决方法是导出一个变量,这样您就可以通过编辑器设置它的路径。
看起来像这样:
export var label_path = "empty"
onready var my_label = get_node(label_path)
func _process(delta):
my_label.visible = false
记得在编辑器视图中为 label_path 赋值。
我正在尝试通过附加到其父级“Shadow Settings”(也是一个标签)的脚本来获取我的 Label 节点“ON”。问题是,我一直收到这个错误,
E 0:00:08.208 get_node: (Node not found: "ON" (relative to "/root/ShadowsSettings").)
<C++ Error> Condition "!node" is true. Returned: __null
<C++ Source> scene/main/node.cpp:1371 @ get_node()
<Stack Trace> Shadows Settings.gd:15 @ _process()
这是我的代码,
extends Label
var Shadows_On = true
func _process(_delta):
if not Shadows_On:
get_node("ON").visible = false
get_node("OFF").visible = true
else:
get_node("ON").visible = true
get_node("OFF").visible = false
func _on_SettingsButton_button_up():
if get_parent().get_parent().get_parent().visible:
if Shadows_On:
Shadows_On = false
else:
Shadows_On = true
请帮助我,我已经被困了好几天试图解决你认为很容易解决的问题。
问题是您没有为 get_node 函数提供完整的节点路径。 最简单的解决方法是导出一个变量,这样您就可以通过编辑器设置它的路径。
看起来像这样:
export var label_path = "empty"
onready var my_label = get_node(label_path)
func _process(delta):
my_label.visible = false
记得在编辑器视图中为 label_path 赋值。