PackedScene¶
Inherits: Resource < Reference < Object
类别: 核心
简要说明¶
系列化场景的抽象。
属性¶
“conn_count”:0,“conns”:poolintarray(),“可编辑的_实例”: [ ] ,“名称”:PoolStringArray(),“节点数”:0,“节点路径”: [ ] “节点”:poolintarray(),“变量”: [ ] ,“版本”:2 |
方法¶
can_instance ( ) const |
|
get_state ( ) |
|
instance ( GenEditState edit_state=0 ) const |
|
枚举¶
枚举 GenEditState :
GEN_EDIT_STATE_DISABLED = 0 ---如果传递给 instance ,阻止对场景状态的编辑。
GEN_EDIT_STATE_INSTANCE = 1 ---如果传递给 instance ,为本地场景提供本地场景资源。
注: 仅在编辑器生成中可用。
GEN_EDIT_STATE_MAIN = 2 ---如果传递给 instance ,为本地场景提供本地场景资源。只有主场景才应接收主编辑状态。
注: 仅在编辑器生成中可用。
描述¶
场景文件的简化接口。提供对可以在场景资源本身上执行的操作和检查的访问。
可用于将节点保存到文件。保存时,将保存节点及其拥有的所有节点(请参见 owner
属性对 Node )
注: 节点不需要拥有自己。
Example of saving a node with different owners: The following example creates 3 objects: Node2D
(node
), RigidBody2D
(rigid
) and CollisionObject2D
(collision
). collision
is a child of rigid
which is a child of node
. Only rigid
is owned by node
and pack
will therefore only save those two nodes, but not collision
.
# Create the objects
var node = Node2D.new()
var rigid = RigidBody2D.new()
var collision = CollisionShape2D.new()
# Create the object hierarchy
rigid.add_child(collision)
node.add_child(rigid)
# Change owner of rigid, but not of collision
rigid.owner = node
var scene = PackedScene.new()
# Only node and rigid are now packed
var result = scene.pack(node)
if result == OK:
ResourceSaver.save("res://path/name.scn", scene) # Or "user://..."
属性描述¶
Dictionary _bundled
违约 |
“conn_count”:0,“conns”:poolintarray(),“可编辑的_实例”: [ ] ,“名称”:PoolStringArray(),“节点数”:0,“节点路径”: [ ] “节点”:poolintarray(),“变量”: [ ] ,“版本”:2 |
场景内容的字典表示。
可用的键包括资源的“rnames”和“variants”、节点的“node ou count”、“nodes”、“node ou paths”、基本场景子级覆盖的“editable ou instances”、信号连接的“conn ou count”和“conns”以及打包场景的格式样式的“version”。
方法说明¶
bool can_instance ( ) const
返回 true
如果场景文件有节点。
SceneState get_state ( )
返回 SceneState
表示场景文件内容。
Node instance ( GenEditState edit_state=0 ) const
实例化场景的节点层次。触发子场景实例化。触发 Node.NOTIFICATION_INSTANCED 根节点上的通知。
pack将忽略不属于给定节点的任何子节点。见 Node.owner .