VisibleOnScreenNotifier2D

继承: Node2D < CanvasItem < Node < Object

派生: VisibleOnScreenEnabler2D

2D 空间的矩形区域,用于检测其在屏幕上是否可见。

描述

VisibleOnScreenNotifier2D 表示 2D 空间的矩形区块。当该区块的任何部分在屏幕或视口中可见时,它将发出 screen_entered 信号,同样,当其任何部分都不可见时,它将发出 screen_exited 信号。

如果希望当该区块在屏幕上可见时自动启用节点,请使用 VisibleOnScreenEnabler2D

注意:VisibleOnScreenNotifier2D 使用渲染剔除代码来确定它在屏幕上是否可见,因此除非 CanvasItem.visible 被设置为 true,否则它不会起作用。

教程

属性

Rect2

rect

Rect2(-10, -10, 20, 20)

bool

show_rect

true

方法

bool

is_on_screen() const


信号

screen_entered() 🔗

当该 VisibleOnScreenNotifier2D 进入屏幕时发出。


screen_exited() 🔗

当该 VisibleOnScreenNotifier2D 退出屏幕时发出。


属性说明

Rect2 rect = Rect2(-10, -10, 20, 20) 🔗

该 VisibleOnScreenNotifier2D 的边界矩形。


bool show_rect = true 🔗

  • void set_show_rect(value: bool)

  • bool is_showing_rect()

如果为 true,则在编辑器中以半透明的洋红色填充显示 rect 的矩形区域。这样做与更改 VisibleOnScreenNotifier2D 的可见性不同,不会影响屏幕剔除检测。


方法说明

bool is_on_screen() const 🔗

如果为 true,则边界矩形在屏幕上。

注意:VisibleOnScreenNotifier2D 被添加到场景树后需要一帧才能确定其可见性,因此该方法在它被实例化后,在绘制阶段之前,将始终返回 false