跳转至

Camera2D

继承

Node2D

简要描述

2D场景的相机节点。

描述

2D场景的相机节点。可以让当前层的屏幕跟随此节点移动。

成员

类型 属性名 默认值
int anchor_mode 1
bool current false
Node custom_viewport
float drag_margin_bottom 0.2
bool drag_margin_h_enabled false
float drag_margin_left 0.2
float drag_margin_right 0.2
float drag_margin_top 0.2
bool drag_margin_v_enabled false
bool editor_draw_drag_margin false
bool editor_draw_limits false
bool editor_draw_screen true
int limit_bottom 10000000
int limit_left -10000000
int limit_right 10000000
bool limit_smoothed false
int limit_top -10000000
Vector2 offset Vector2( 0, 0 )
float offset_h 0.0
float offset_v 0.0
int process_mode 1
bool rotating false
bool smoothing_enabled false
float smoothing_speed 5.0
Vector2 zoom Vector2( 1, 1 )

方法

返回值类型 方法名称
void align()
void clear_current()
void force_update_scroll()
Vector2 get_camera_position() const
Vector2 get_camera_screen_center() const
float get_drag_margin(margin: int) const
int get_limit(margin: int) const
void make_current()
void reset_smoothing()
void set_drag_margin(margin: int, drag_margin: float)
void set_limit(margin: int, limit: int)
##枚举
enum AnchorMode:
- ANCHOR_MODE_FIXED_TOP_LEFT = 0

摄像机的位置是固定的,因此左上角始终位于原点。

  • ANCHOR_MODE_DRAG_CENTER = 1

摄像机的位置考虑了垂直/水平偏移和屏幕尺寸。


enum Camera2DProcessMode: - CAMERA2D_PROCESS_PHYSICS = 0

相机使用_physics_process回调进行更新。

  • CAMERA2D_PROCESS_IDLE = 1

摄像机使用_process回调进行更新。


常量

成员说明

  • int anchor_mode
Default 1
setter set_anchor_mode(value)
getter get_anchor_mode
  • bool current
Default false
setter _set_current(value)
getter is_current
  • Node custom_viewport
setter set_custom_viewport(value)
getter get_custom_viewport
  • float drag_margin_bottom
Default 0.2
setter set_drag_margin(value)
getter get_drag_margin
  • bool drag_margin_h_enabled
Default false
setter set_h_drag_enabled(value)
getter is_h_drag_enabled
  • float drag_margin_left
Default 0.2
setter set_drag_margin(value)
getter get_drag_margin
  • float drag_margin_right
Default 0.2
setter set_drag_margin(value)
getter get_drag_margin
  • float drag_margin_top
Default 0.2
setter set_drag_margin(value)
getter get_drag_margin
  • bool drag_margin_v_enabled
Default false
setter set_v_drag_enabled(value)
getter is_v_drag_enabled
  • bool editor_draw_drag_margin
Default false
setter set_margin_drawing_enabled(value)
getter is_margin_drawing_enabled
  • bool editor_draw_limits
Default false
setter set_limit_drawing_enabled(value)
getter is_limit_drawing_enabled
  • bool editor_draw_screen
Default true
setter set_screen_drawing_enabled(value)
getter is_screen_drawing_enabled
  • int limit_bottom
Default 10000000
setter set_limit(value)
getter get_limit
  • int limit_left
Default -10000000
setter set_limit(value)
getter get_limit
  • int limit_right
Default 10000000
setter set_limit(value)
getter get_limit
  • bool limit_smoothed
Default false
setter set_limit_smoothing_enabled(value)
getter is_limit_smoothing_enabled
  • int limit_top
Default -10000000
setter set_limit(value)
getter get_limit
  • Vector2 offset
Default Vector2( 0, 0 )
setter set_offset(value)
getter get_offset
  • float offset_h
Default 0.0
setter set_h_offset(value)
getter get_h_offset
  • float offset_v
Default 0.0
setter set_v_offset(value)
getter get_v_offset
  • int process_mode
Default 1
setter set_process_mode(value)
getter get_process_mode
  • bool rotating
Default false
setter set_rotating(value)
getter is_rotating
  • bool smoothing_enabled
Default false
setter set_enable_follow_smoothing(value)
getter is_follow_smoothing_enabled
  • float smoothing_speed
Default 5.0
setter set_follow_smoothing(value)
getter get_follow_smoothing
  • Vector2 zoom
Default Vector2( 1, 1 )
setter set_zoom(value)
getter get_zoom

方法说明

  • align align()

将摄像机对准被跟踪的节点。


  • clear_current clear_current()

从祖先Viewport的内部当前分配的摄像机中删除任何Camera2D


  • force_update_scroll force_update_scroll()

强制相机立即更新滚动。


  • get_camera_position get_camera_position() const

返回相机位置。


  • get_camera_screen_center get_camera_screen_center() const

返回Camera2D的屏幕中心相对于原点的位置。


  • get_drag_margin get_drag_margin(margin: int) const

返回指定的边距。


  • get_limit get_limit(margin: int) const

返回指定的摄像机限制。


  • make_current make_current()

如果场景中有很多摄像机,则将其设为场景(视口和图层)的当前2D摄像机。


  • reset_smoothing reset_smoothing()

将相机的位置立即设置为其当前的平滑目标。

如果禁用平滑,则此效果无效。


  • set_drag_margin set_drag_margin(margin: int, drag_margin: float)

设置指定的边距。


  • set_limit set_limit(margin: int, limit: int)

设置指定的摄像机限制。