Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ScenePaint2DEditor
Inherits: Control < CanvasItem < Node < Object
Class for interacting with the 2D editor's Scene Paint Mode.
Description
This class is available only in the editor and cannot be instantiated. Access it using EditorInterface.get_scene_paint_2d().
It provides methods for editor plugins to interact with the scene painting tool.
Plugins can register custom scene providers, and set the scene to be painted.
Methods
get_painted_scene() const |
|
void |
register_scene_provider(control: Control, callback: Callable) |
void |
set_painted_scene(scene: Node2D) |
void |
unregister_scene_provider(control: Control) |
Signals
Emitted for each new node created during drawing.
Example:
@tool
extends EditorPlugin
func _enter_tree():
EditorInterface.get_scene_paint_2d().scene_painted.connect(_on_scene_painted)
func _on_scene_painted(node: Node2D):
# Set random rotation when drawing nodes.
node.rotation = randf_range(0, 360)
Method Descriptions
Node2D get_painted_scene() const 🔗
Returns the painted scene, or null if none is selected. The returned scene's properties can be edited.
Warning: Removing and freeing this node will render the editor useless and may cause a crash.
void register_scene_provider(control: Control, callback: Callable) 🔗
Registers a custom scene provider.
When the scene picker tool is active and the user clicks on control, the callback is invoked and must return a Node2D.
The returned scene becomes the new painting sample.
void set_painted_scene(scene: Node2D) 🔗
Sets the scene sample to be painted.
void unregister_scene_provider(control: Control) 🔗
Removes a previously registered scene provider.