Inherits: Resource < Reference < Object
An abstraction of a serialized scene.
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: The node doesn't need to own itself.
Example of loading a saved scene:
# Use `load()` instead of `preload()` if the path isn't known at compile-time. var scene = preload("res://scene.tscn").instance() # Add the node as a child of the node the script is attached to. add_child(scene)
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: var error = ResourceSaver.save("res://path/name.scn", scene) # Or "user://..." if error != OK: push_error("An error occurred while saving the scene to disk.")
Dictionary | _bundled | {"conn_count": 0,"conns": PoolIntArray( ),"editable_instances": [ ],"names": PoolStringArray( ),"node_count": 0,"node_paths": [ ],"nodes": PoolIntArray( ),"variants": [ ],"version": 2} |
bool | can_instance ( ) const |
SceneState | get_state ( ) |
Node | instance ( GenEditState edit_state=0 ) const |
Error | pack ( Node path ) |
enum GenEditState:
Note: Only available in editor builds.
Note: Only available in editor builds.
Default | {"conn_count": 0,"conns": PoolIntArray( ),"editable_instances": [ ],"names": PoolStringArray( ),"node_count": 0,"node_paths": [ ],"nodes": PoolIntArray( ),"variants": [ ],"version": 2} |
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.
Returns true
if the scene file has nodes.
Returns the 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–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_packedscene.html