VisibilityEnabler2D

Inherits: VisibilityNotifier2D < Node2D < CanvasItem < Node < Object

只在大约可见时启用某些节点。

描述

VisibilityEnabler2D会在RigidBody2DAnimationPlayer和其他节点不可见时禁用它们。它只会影响与VisibilityEnabler2D的根节点相同的节点,以及根节点本身。

如果你只想接收通知,请使用VisibilityNotifier2D代替。

注意: 由于性能原因,VisibilityEnabler2D使用一个近似的启发式方法,其精度由 ProjectSettings.world/2d/cell_size 决定。如果你需要精确的可见性检查,请使用另一种方法,例如添加一个Area2D节点作为Camera2D节点的子节点。

注意: VisibilityEnabler2D不会影响场景初始化后添加的节点。

方法

bool

is_enabler_enabled ( Enabler enabler ) const

void

set_enabler ( Enabler enabler, bool enabled )

枚举

enum Enabler:

  • ENABLER_PAUSE_ANIMATIONS = 0 --- 这个启用程序将暂停AnimationPlayer节点。

  • ENABLER_FREEZE_BODIES = 1 --- 这个启用程序将冻结RigidBody2D节点。

  • ENABLER_PAUSE_PARTICLES = 2 --- 这个启用程序将停止Particles2D节点。

  • ENABLER_PARENT_PROCESS = 3 --- 这个启用程序将停止父类的_process函数。

  • ENABLER_PARENT_PHYSICS_PROCESS = 4 --- 这个启用程序将停止父类的_physics_process函数。

  • ENABLER_PAUSE_ANIMATED_SPRITES = 5 --- 这个启用程序将停止AnimatedSprite节点的动画。

  • ENABLER_MAX = 6 --- 表示Enabler枚举的大小。

属性说明

  • bool freeze_bodies

Default

true

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果trueRigidBody2D节点将被暂停。


  • bool pause_animated_sprites

Default

true

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果trueAnimatedSprite节点将被暂停。


  • bool pause_animations

Default

true

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果trueAnimationPlayer节点将被暂停。


  • bool pause_particles

Default

true

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果trueParticles2D节点将被暂停。


  • bool physics_process_parent

Default

false

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果true,父级的Node._physics_process将被停止。


  • bool process_parent

Default

false

Setter

set_enabler(value)

Getter

is_enabler_enabled()

如果true,父级的Node._process将被停止。

方法说明

返回由给定的 Enabler 常量标识的启用程序是否处于活动状态。


设置由给定的Enabler常量识别的启用程序的活动状态。