An abstraction of a serialized scene.
|bool||can_instance ( ) const|
|SceneState||get_state ( )|
|Node||instance ( GenEditState edit_state=0 ) const|
|Error||pack ( Node path )|
A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see
owner property on Node). Note that the node doesn’t need to own itself.
Example of saving a node with different owners: The following example creates 3 objects:
collision is a child of
rigid which is a child of
rigid is owned by
pack will therefore only save those two nodes, but not
# 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://...
A dictionary representation of the scene contents.
Available keys include “rnames” and “variants” for resources, “node_count”, “nodes”, “node_paths” for nodes, “editable_instances” for base scene children overrides, “conn_count” and “conns” for signal connections, and “version” for the format style of the PackedScene.
true if the scene file has nodes.
SceneState representing the scene file contents.
Instantiates the scene’s node hierarchy. Triggers child scene instantiation(s). Triggers a Node.NOTIFICATION_INSTANCED notification on the root node.
Pack will ignore any sub-nodes not owned by given node. See Node.owner.
© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.