跳到主要内容

Camera2D

继承

Node2D

简要描述

2D场景的相机节点。

描述

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

成员

类型属性名默认值
intanchor_mode1
boolcurrentfalse
Nodecustom_viewport
floatdrag_margin_bottom0.2
booldrag_margin_h_enabledfalse
floatdrag_margin_left0.2
floatdrag_margin_right0.2
floatdrag_margin_top0.2
booldrag_margin_v_enabledfalse
booleditor_draw_drag_marginfalse
booleditor_draw_limitsfalse
booleditor_draw_screentrue
intlimit_bottom10000000
intlimit_left-10000000
intlimit_right10000000
boollimit_smoothedfalse
intlimit_top-10000000
Vector2offsetVector2( 0, 0 )
floatoffset_h0.0
floatoffset_v0.0
intprocess_mode1
boolrotatingfalse
boolsmoothing_enabledfalse
floatsmoothing_speed5.0
Vector2zoomVector2( 1, 1 )

方法

返回值类型方法名称
voidalign()
voidclear_current()
voidforce_update_scroll()
Vector2get_camera_position() const
Vector2get_camera_screen_center() const
floatget_drag_margin(margin: int) const
intget_limit(margin: int) const
voidmake_current()
voidreset_smoothing()
voidset_drag_margin(margin: int, drag_margin: float)
voidset_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
Default1
setterset_anchor_mode(value)
getterget_anchor_mode
  • bool current
Defaultfalse
setter_set_current(value)
getteris_current
  • Node custom_viewport
setterset_custom_viewport(value)
getterget_custom_viewport
  • float drag_margin_bottom
Default0.2
setterset_drag_margin(value)
getterget_drag_margin
  • bool drag_margin_h_enabled
Defaultfalse
setterset_h_drag_enabled(value)
getteris_h_drag_enabled
  • float drag_margin_left
Default0.2
setterset_drag_margin(value)
getterget_drag_margin
  • float drag_margin_right
Default0.2
setterset_drag_margin(value)
getterget_drag_margin
  • float drag_margin_top
Default0.2
setterset_drag_margin(value)
getterget_drag_margin
  • bool drag_margin_v_enabled
Defaultfalse
setterset_v_drag_enabled(value)
getteris_v_drag_enabled
  • bool editor_draw_drag_margin
Defaultfalse
setterset_margin_drawing_enabled(value)
getteris_margin_drawing_enabled
  • bool editor_draw_limits
Defaultfalse
setterset_limit_drawing_enabled(value)
getteris_limit_drawing_enabled
  • bool editor_draw_screen
Defaulttrue
setterset_screen_drawing_enabled(value)
getteris_screen_drawing_enabled
  • int limit_bottom
Default10000000
setterset_limit(value)
getterget_limit
  • int limit_left
Default-10000000
setterset_limit(value)
getterget_limit
  • int limit_right
Default10000000
setterset_limit(value)
getterget_limit
  • bool limit_smoothed
Defaultfalse
setterset_limit_smoothing_enabled(value)
getteris_limit_smoothing_enabled
  • int limit_top
Default-10000000
setterset_limit(value)
getterget_limit
  • Vector2 offset
DefaultVector2( 0, 0 )
setterset_offset(value)
getterget_offset
  • float offset_h
Default0.0
setterset_h_offset(value)
getterget_h_offset
  • float offset_v
Default0.0
setterset_v_offset(value)
getterget_v_offset
  • int process_mode
Default1
setterset_process_mode(value)
getterget_process_mode
  • bool rotating
Defaultfalse
setterset_rotating(value)
getteris_rotating
  • bool smoothing_enabled
Defaultfalse
setterset_enable_follow_smoothing(value)
getteris_follow_smoothing_enabled
  • float smoothing_speed
Default5.0
setterset_follow_smoothing(value)
getterget_follow_smoothing
  • Vector2 zoom
DefaultVector2( 1, 1 )
setterset_zoom(value)
getterget_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)

设置指定的摄像机限制。