Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

BackBufferCopy

继承: Node2D < CanvasItem < Node < Object

这种节点能够将屏幕中的某个区域复制到缓冲中,方便从着色器代码中访问。

描述

用于后台缓冲当前显示屏幕的节点。会根据 copy_modeBackBufferCopy 节点中定义的区域所覆盖的屏幕内容或整个屏幕进行缓冲。可以在着色器脚本中使用屏幕纹理来访问(即带有 hint_screen_texture 的 uniform 采样器)。

注意:由于该节点继承自 Node2D(而非 Control),因此锚点和边距不适用于子 Control 派生节点。这在调整窗口大小时可能会出现问题。为避免这种情况,请将 Control 派生节点添加为 BackBufferCopy 节点的同级节点,而不是将它们添加为子节点。

属性

CopyMode

copy_mode

1

Rect2

rect

Rect2(-100, -100, 200, 200)


枚举

enum CopyMode:

CopyMode COPY_MODE_DISABLED = 0

禁用缓冲模式。这意味着该 BackBufferCopy 节点将直接使用它所覆盖的屏幕部分。

CopyMode COPY_MODE_RECT = 1

BackBufferCopy 缓冲一个矩形区域。

CopyMode COPY_MODE_VIEWPORT = 2

BackBufferCopy 缓冲整个屏幕。


属性说明

CopyMode copy_mode = 1

缓冲区模式。见 CopyMode 常量。


Rect2 rect = Rect2(-100, -100, 200, 200)

  • void set_rect ( Rect2 value )

  • Rect2 get_rect ( )

BackBufferCopy 所覆盖的区域。只有当 copy_modeCOPY_MODE_RECT 时才使用。