Camera2D¶
Inherits: Node2D < CanvasItem < Node < Object
Category: Core
Brief Description¶
Camera node for 2D scenes.
Member Functions¶
Numeric Constants¶
- ANCHOR_MODE_DRAG_CENTER = 1
- ANCHOR_MODE_FIXED_TOP_LEFT = 0
Description¶
Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of CanvasItem based nodes.
This node is intended to be a simple helper get get things going quickly and it may happen often that more functionality is desired to change how the camera works. To make your own custom camera node, simply inherit from Node2D and change the transform of the canvas by calling get_viewport().set_canvas_transform(m) in Viewport.
Member Function Description¶
- void align ( )
Align the camera to the tracked node
- void clear_current ( )
- void force_update_scroll ( )
Force the camera to update scroll immediately.
- int get_anchor_mode ( ) const
- Vector2 get_camera_pos ( ) const
Return the camera position.
- Vector2 get_camera_screen_center ( ) const
- Viewport get_custom_viewport ( ) const
Return the viewport RID for this layer.
Return the margins needed to drag the camera (see set_drag_margin).
- float get_follow_smoothing ( ) const
- float get_h_offset ( ) const
Return the scrolling limit in pixels.
- Vector2 get_offset ( ) const
Return the scroll offset.
- float get_v_offset ( ) const
- Vector2 get_zoom ( ) const
- bool is_current ( ) const
Return true of this is the current camera (see make_current).
- bool is_follow_smoothing_enabled ( ) const
- bool is_h_drag_enabled ( ) const
- bool is_limit_drawing_enabled ( ) const
- bool is_limit_smoothing_enabled ( ) const
- bool is_margin_drawing_enabled ( ) const
- bool is_rotating ( ) const
- bool is_screen_drawing_enabled ( ) const
- bool is_v_drag_enabled ( ) const
- void make_current ( )
Make this the current 2D camera for the scene (viewport and layer), in case there’s many cameras in the scene.
- void reset_smoothing ( )
Set the camera’s position immediately to its current smoothing destination.
This has no effect if smoothing is disabled.
- void set_anchor_mode ( int anchor_mode )
- void set_custom_viewport ( Viewport viewport )
Set the margins needed to drag the camera (relative to the screen size). Margin uses the MARGIN_* enum. Drag margins of 0,0,0,0 will keep the camera at the center of the screen, while drag margins of 1,1,1,1 will only move when the camera is at the edges.
- void set_enable_follow_smoothing ( bool follow_smoothing )
- void set_follow_smoothing ( float follow_smoothing )
- void set_h_drag_enabled ( bool enabled )
- void set_h_offset ( float ofs )
Set the scrolling limit in pixels.
- void set_limit_drawing_enabled ( bool limit_drawing_enabled )
- void set_limit_smoothing_enabled ( bool limit_smoothing_enabled )
Smooth camera when reaching camera limits.
This requires camera smoothing being enabled to have a noticeable effect.
- void set_margin_drawing_enabled ( bool margin_drawing_enabled )
- void set_offset ( Vector2 offset )
Set the scroll offset. Useful for looking around or camera shake animations.
- void set_rotating ( bool rotating )
- void set_screen_drawing_enabled ( bool screen_drawing_enabled )
- void set_v_drag_enabled ( bool enabled )
- void set_v_offset ( float ofs )
- void set_zoom ( Vector2 zoom )