InstancePlaceholder

继承: Node < Object

PackedSceneNode 的占位符。

描述

在编辑器中为实例化的场景打开加载为占位符选项会导致在运行游戏时将其替换为 InstancePlaceholder。这样就可以将场景的实际加载推迟到调用 create_instance 时。这对于通过选择性加载部分场景来避免一次性加载大场景很有用。

InstancePlaceholder 不具备变换属性。因此任何子节点都会相对于 Viewport 从 (0, 0) 点开始定位,而不是在编辑器中显示的父节点。用一个具有变换属性的场景来替换占位符,将使子节点再次相对于它们的父节点进行变换。

方法

Node

create_instance(replace: bool = false, custom_scene: PackedScene = null)

String

get_instance_path() const

Dictionary

get_stored_values(with_order: bool = false)


方法说明

Node create_instance(replace: bool = false, custom_scene: PackedScene = null) 🔗

调用这个方法会实际载入节点。创建的节点会被放置在场景树中该 InstancePlaceholder上方。出于方便的考虑,还会返回该 Node 的引用。

注意:create_instance 不是线程安全的。从线程中调用时请使用 Object.call_deferred


String get_instance_path() const 🔗

获取调用 create_instance 时默认加载的 PackedScene 资源文件的路径。不是线程安全的。如果从线程调用,请使用 Object.call_deferred


Dictionary get_stored_values(with_order: bool = false) 🔗

返回在调用 create_instance 时会应用到节点上的属性列表。

如果 with_ordertrue,会在字典中加入 .order 字段(注意有个前缀的点)。这个 .order 字段是属性名称 StringArray,指定属性的应用顺序(索引为 0 的是第一个)。