InstancePlaceholder
PackedScene 根 Node 的占位符。
描述
在编辑器中为实例化的场景打开加载为占位符选项会导致在运行游戏时将其替换为 InstancePlaceholder。这样就可以将场景推迟到调用 create_instance() 时再实际加载。这样做有助于对大型场景中的不同部分进行有选择的加载,避免一次性加载所有部分。
注意:InstancePlaceholder 与 Node 类似,不具备变换属性。因此任何子节点都会相对于 Viewport 的原点开始定位,而不是在编辑器中显示的父节点。用一个具有变换属性的场景来替换占位符,将使子节点再次相对于它们的父节点进行变换。
方法
create_instance(replace: bool = false, custom_scene: PackedScene = null) |
|
get_instance_path() const |
|
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_order 为 true,会在字典中加入 .order 字段(注意有个前缀的点)。这个 .order 字段是属性名称 String 的 Array,指定属性的应用顺序(索引为 0 的是第一个)。