摄像机2D¶
Inherits: Node2D < CanvasItem < Node < Object
类别: 核心
简要说明¶
用于二维场景的摄影机节点。
属性¶
1 |
||
假 |
||
0.2 |
||
真 |
||
0.2 |
||
0.2 |
||
0.2 |
||
真 |
||
假 |
||
假 |
||
真 |
||
10000000 |
||
-10000000 |
||
10000000 |
||
假 |
||
-10000000 |
||
矢量2(0,0) |
||
0.0 |
||
0.0 |
||
1 |
||
假 |
||
假 |
||
5.0 |
||
矢量2(1,1) |
方法¶
无效 |
align ( ) |
无效 |
clear_current ( ) |
无效 |
|
get_camera_position ( ) const |
|
get_camera_screen_center ( ) const |
|
get_drag_margin ( Margin margin ) const |
|
无效 |
make_current ( ) |
无效 |
reset_smoothing ( ) |
无效 |
set_drag_margin ( Margin margin, float drag_margin ) |
无效 |
枚举¶
枚举 AnchorMode :
ANCHOR_MODE_FIXED_TOP_LEFT = 0 ---相机的位置是固定的,所以左上角总是在原点。
ANCHOR_MODE_DRAG_CENTER = 1 ---相机的位置考虑了垂直/水平偏移和屏幕大小。
枚举 摄像头2处理模式 :
CAMERA2D_PROCESS_PHYSICS = 0
CAMERA2D_PROCESS_IDLE = 1
描述¶
用于二维场景的摄影机节点。它强制屏幕(当前层)在该节点之后滚动。这使得编程可滚动场景比手动更改 CanvasItem -基于节点。
此节点旨在作为一个简单的帮助器,以使事情快速进行,并且可能需要更多的功能来更改相机的工作方式。要创建自己的自定义摄影机节点,只需继承自 Node2D 并通过调用get_viewport()更改画布的转换。将_canvas_transform(m)设置为 Viewport .
属性描述¶
AnchorMode anchor_mode
违约 |
1 |
设定器 |
设置“锚定”模式(值) |
吸气剂 |
获取锚定模式()。 |
摄像机的定位点。见 ANCHOR_MODE_*
常量。
bool current
违约 |
假 |
吸气剂 |
是“当前”() |
如果 true
,相机是当前场景的活动相机。只有一个摄像头是当前的,因此设置不同的摄像头 current
将禁用此项。
Node custom_viewport
设定器 |
设置“自定义”视区(值) |
吸气剂 |
获取u自定义u视区() |
习俗 Viewport 连接到的节点 Camera2D
.如果 null
或者不是 Viewport ,而是使用默认的视区。
float drag_margin_bottom
违约 |
0.2 |
设定器 |
设置拖动边距(值) |
吸气剂 |
获取拖动页边距()。 |
拖动相机所需的下边距。值 1
使相机仅在到达屏幕边缘时移动。
bool drag_margin_h_enabled
违约 |
真 |
设定器 |
设置“拖动”启用(值) |
吸气剂 |
_h_drag_enabled()是否启用? |
如果 true
,相机仅在达到水平拖动边界时移动。如果 false
,相机水平移动,不考虑边距。
float drag_margin_left
违约 |
0.2 |
设定器 |
设置拖动边距(值) |
吸气剂 |
获取拖动页边距()。 |
拖动相机所需的左边距。值 1
使相机仅在到达屏幕边缘时移动。
float drag_margin_right
违约 |
0.2 |
设定器 |
设置拖动边距(值) |
吸气剂 |
获取拖动页边距()。 |
拖动相机需要右边距。值 1
使相机仅在到达屏幕边缘时移动。
float drag_margin_top
违约 |
0.2 |
设定器 |
设置拖动边距(值) |
吸气剂 |
获取拖动页边距()。 |
拖动相机所需的上边距。值 1
使相机仅在到达屏幕边缘时移动。
bool drag_margin_v_enabled
违约 |
真 |
设定器 |
设置“拖动”启用(值) |
吸气剂 |
是否启用了拖动()。 |
如果 true
,相机仅在到达垂直拖动边界时移动。如果 false
,相机垂直移动,不考虑边距。
bool editor_draw_drag_margin
违约 |
假 |
设定器 |
设置_Margin_Drawing_Enabled(值) |
吸气剂 |
如果 true
,在编辑器中绘制相机的拖动边界矩形。
bool editor_draw_limits
违约 |
假 |
设定器 |
设置限制绘图启用(值) |
吸气剂 |
_limit_drawing_enabled()是否启用? |
如果 true
,在编辑器中绘制相机的限制矩形。
bool editor_draw_screen
违约 |
真 |
设定器 |
设置屏幕绘图启用(值) |
吸气剂 |
_screen_drawing_enabled()是否启用? |
如果 true
,在编辑器中绘制相机的屏幕矩形。
int limit_bottom
违约 |
10000000 |
设定器 |
设定极限(值) |
吸气剂 |
获取限制()) |
底部滚动限制(像素)。当达到该值时,相机停止移动。
int limit_left
违约 |
-10000000 |
设定器 |
设定极限(值) |
吸气剂 |
获取限制()) |
以像素为单位的左滚动限制。当达到该值时,相机停止移动。
int limit_right
违约 |
10000000 |
设定器 |
设定极限(值) |
吸气剂 |
获取限制()) |
以像素为单位的右滚动限制。当达到该值时,相机停止移动。
bool limit_smoothed
违约 |
假 |
设定器 |
设置限制平滑启用(值) |
吸气剂 |
_limit_smoothing_enabled()是否启用了_limit_smoothing_? |
如果 true
当达到极限时,相机会平稳停止。
int limit_top
违约 |
-10000000 |
设定器 |
设定极限(值) |
吸气剂 |
获取限制()) |
以像素为单位的上滚动限制。当达到该值时,相机停止移动。
Vector2 offset
违约 |
矢量2(0,0) |
设定器 |
设置偏移(值) |
吸气剂 |
获取偏移量() |
相机的偏移量,用于查看周围或相机抖动动画。
float offset_h
违约 |
0.0 |
设定器 |
设置偏移量(值) |
吸气剂 |
获取_h_偏移量() |
相机相对于拖动边界的水平偏移量。
float offset_v
违约 |
0.0 |
设定器 |
设置偏移量(值) |
吸气剂 |
获取“偏移量”() |
相机相对于拖动边界的垂直偏移。
Camera2DProcessMode process_mode
违约 |
1 |
设定器 |
设置进程模式(值) |
吸气剂 |
获取进程模式() |
bool rotating
违约 |
假 |
设定器 |
设置旋转(值) |
吸气剂 |
正在旋转() |
如果 true
,相机随目标旋转。
bool smoothing_enabled
违约 |
假 |
设定器 |
设置启用跟随平滑(值) |
吸气剂 |
_follow_smoothing_enabled()是否启用? |
如果 true
,相机平稳地向目标移动 smoothing_speed .
float smoothing_speed
违约 |
5.0 |
设定器 |
设置“跟随”平滑(值) |
吸气剂 |
获取跟踪平滑()) |
当 smoothing_enabled 是 true
.
Vector2 zoom
违约 |
矢量2(1,1) |
设定器 |
设置缩放(值) |
吸气剂 |
获取“缩放”() |
相机相对于视区的缩放。值大于 Vector2(1, 1)
缩小和较小的值放大。例如,使用 Vector2(0.5, 0.5)
放大2倍, Vector2(4, 4)
放大4倍。
方法说明¶
void align ( )
将相机与跟踪的节点对齐。
void clear_current ( )
删除任何 Camera2D
来自祖先 Viewport 的内部当前分配的摄像头。
void force_update_scroll ( )
强制相机立即更新滚动。
Vector2 get_camera_position ( ) const
返回相机位置。
Vector2 get_camera_screen_center ( ) const
返回 Camera2D
的屏幕中心,相对于原点。
void make_current ( )
如果场景中有许多摄影机,请将其设置为场景(视区和图层)的当前二维摄影机。
void reset_smoothing ( )
立即将相机的位置设置为其当前平滑目标。
如果禁用平滑,则此操作无效。