我无法将 SliceAndCoagulatorScene 链接到脚本以将其可见设置为 false 我已经尝试过了get_node,$res://...
extends Node2D
onready var main_scene = get_node(".")
onready var SliceAndCoagulatorScene = get_node("_________")
func _ready():
main_scene.visible = true
Run Code Online (Sandbox Code Playgroud)
这就是我想放在后面的内容:
SliceAndCoagulatorScene.visible = false
我该怎么做,非常感谢任何帮助
为了清楚起见:res://场景树中不存在路径,它存在于虚拟文件系统中。因此,您无法从 访问它get_node。由于get_node作用于场景树,因此需要先加载并实例化场景树中的场景。
如果您已将场景添加到编辑器中的场景树中,那么它将加载它并为您实例化它,并且您将有一个可以放入的路径get_node......但它不会是一个res://路径,因为,再一次,res://虚拟文件系统中存在路径。
您将res://路径提供给load(或load_interactive,请参阅后台加载,或change_scene),而不是get_node。
现在,您要么尝试定位已加载的场景,要么尝试未加载的场景。
如果您的其他场景未加载,您需要加载它(load或load_interactive),这会给您一个PackedScene,实例化它(instance)这会给您一个Node。此时您已经有了参考,请继续使用它。您可能想添加到场景树(例如add_child)。
例如,在这里我们将新场景附加到根(这可能是也可能不是您想要的,特别是面对不断变化的场景,但这是另一个主题):
func _ready():
var packed_scene = load("res://something.tscn")
var scene_node = packed_scene.instance()
var root = get_tree().get_root()
root.add_child(scene_node)
scene_node.visible = false # or whatever
Run Code Online (Sandbox Code Playgroud)
我建议使用PackedScene导出:
export(PackedScene) var packed_scene
onready var scene_node = load(packed_scene).instance()
func _ready():
var root = get_tree().get_root()
root.add_child(scene_node)
scene_node.visible = false # or whatever
Run Code Online (Sandbox Code Playgroud)
然后在检查器面板中,您将看到一个新属性“Packed Scene”(Godot 自动将名称大写),您可以在其中指定文件系统中的场景。另外,如果您在编辑器中移动文件系统中的场景,编辑器将为您更新路径。
注意:您可能想也可能不想将它们添加到get_tree().get_root(). 其他选项包括将其添加到get_tree().get_current_scene()、get_owner()和。get_parent()self
另一方面,您的两个场景都已加载到场景树中。在这种情况下,存在一条从一个节点到另一个节点的路径,您可以将其放入 中get_node。如果您的目标场景不是儿童,您可能想使用 提升几个级别..。但是,我建议不要对此类路径进行硬编码。
相反,您将获得以下优势:
export(NodePath) var target_scene
onready var scene_node = get_node(target_scene)
Run Code Online (Sandbox Code Playgroud)
然后在检查器面板中,您将看到一个新属性“目标场景”,您可以在其中指定要访问的节点在场景树中的位置。另外,如果您在编辑器中的场景树中移动节点,它会为您更新路径。
然后你可以这样做:
func _ready():
scene_node.visible = false # or whatever
Run Code Online (Sandbox Code Playgroud)
注意:如果您不知道场景是否已加载。您可能有兴趣使用find_node. Control还提供一个get_node_or_null.
| 归档时间: |
|
| 查看次数: |
5247 次 |
| 最近记录: |