.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the Area2D.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_Area2D: Area2D ====== **Inherits:** :ref:`CollisionObject2D` **<** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Category:** Core Brief Description ----------------- 2D area for detection and 2D physics influence. Member Functions ---------------- +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_layer_bit` **(** :ref:`int` bit **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_collision_mask_bit` **(** :ref:`int` bit **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_overlapping_areas` **(** **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_overlapping_bodies` **(** **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`overlaps_area` **(** :ref:`Node` area **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`overlaps_body` **(** :ref:`Node` body **)** const | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_layer_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_collision_mask_bit` **(** :ref:`int` bit, :ref:`bool` value **)** | +----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_Area2D_area_entered: - **area_entered** **(** :ref:`Object` area **)** Emitted when another area enters. .. _class_Area2D_area_exited: - **area_exited** **(** :ref:`Object` area **)** Emitted when another area exits. .. _class_Area2D_area_shape_entered: - **area_shape_entered** **(** :ref:`int` area_id, :ref:`Object` area, :ref:`int` area_shape, :ref:`int` self_shape **)** Emitted when another area enters, reporting which shapes overlapped. .. _class_Area2D_area_shape_exited: - **area_shape_exited** **(** :ref:`int` area_id, :ref:`Object` area, :ref:`int` area_shape, :ref:`int` self_shape **)** Emitted when another area exits, reporting which shapes were overlapping. .. _class_Area2D_body_entered: - **body_entered** **(** :ref:`Object` body **)** Emitted when a :ref:`PhysicsBody2D` object enters. .. _class_Area2D_body_exited: - **body_exited** **(** :ref:`Object` body **)** Emitted when a :ref:`PhysicsBody2D` object exits. .. _class_Area2D_body_shape_entered: - **body_shape_entered** **(** :ref:`int` body_id, :ref:`Object` body, :ref:`int` body_shape, :ref:`int` area_shape **)** Emitted when a :ref:`PhysicsBody2D` object enters, reporting which shapes overlapped. .. _class_Area2D_body_shape_exited: - **body_shape_exited** **(** :ref:`int` body_id, :ref:`Object` body, :ref:`int` body_shape, :ref:`int` area_shape **)** Emitted when a :ref:`PhysicsBody2D` object exits, reporting which shapes were overlapping. Member Variables ---------------- .. _class_Area2D_angular_damp: - :ref:`float` **angular_damp** - The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from ``0`` (no damping) to ``1`` (full damping). .. _class_Area2D_audio_bus_name: - :ref:`String` **audio_bus_name** - The name of the area's audio bus. .. _class_Area2D_audio_bus_override: - :ref:`bool` **audio_bus_override** - If ``true`` the area's audio bus overrides the default audio bus. Default value: ``false``. .. _class_Area2D_collision_layer: - :ref:`int` **collision_layer** - The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also ``collision_mask``. .. _class_Area2D_collision_mask: - :ref:`int` **collision_mask** - The physics layers this area scans to determine collision detection. .. _class_Area2D_gravity: - :ref:`float` **gravity** - The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. .. _class_Area2D_gravity_distance_scale: - :ref:`float` **gravity_distance_scale** - The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance. .. _class_Area2D_gravity_point: - :ref:`bool` **gravity_point** - If ``true`` gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``. .. _class_Area2D_gravity_vec: - :ref:`Vector2` **gravity_vec** - The area's gravity vector (not normalized). If gravity is a point (see :ref:`is_gravity_a_point`), this will be the point of attraction. .. _class_Area2D_linear_damp: - :ref:`float` **linear_damp** - The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from ``0`` (no damping) to ``1`` (full damping). .. _class_Area2D_monitorable: - :ref:`bool` **monitorable** - If ``true`` other monitoring areas can detect this area. Default value: ``true``. .. _class_Area2D_monitoring: - :ref:`bool` **monitoring** - If ``true`` the area detects bodies or areas entering and exiting it. Default value: ``true``. .. _class_Area2D_priority: - :ref:`float` **priority** - The area's priority. Higher priority areas are processed first. Default value: 0. .. _class_Area2D_space_override: - :ref:`int` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values. Numeric Constants ----------------- - **SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damping. - **SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order). - **SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order), ignoring any lower priority areas. - **SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas. - **SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damping calculated so far (in ``priority`` order), but keeps calculating the rest of the areas. Description ----------- 2D area that detects :ref:`CollisionObject2D` nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). Member Function Description --------------------------- .. _class_Area2D_get_collision_layer_bit: - :ref:`bool` **get_collision_layer_bit** **(** :ref:`int` bit **)** const Return an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer. .. _class_Area2D_get_collision_mask_bit: - :ref:`bool` **get_collision_mask_bit** **(** :ref:`int` bit **)** const Return an individual bit on the collision mask. Describes whether this area will collide with others on the given layer. .. _class_Area2D_get_overlapping_areas: - :ref:`Array` **get_overlapping_areas** **(** **)** const Returns a list of intersecting ``Area2D``\ s. .. _class_Area2D_get_overlapping_bodies: - :ref:`Array` **get_overlapping_bodies** **(** **)** const Returns a list of intersecting :ref:`PhysicsBody2D`\ s. .. _class_Area2D_overlaps_area: - :ref:`bool` **overlaps_area** **(** :ref:`Node` area **)** const If ``true`` the given area overlaps the Area2D. .. _class_Area2D_overlaps_body: - :ref:`bool` **overlaps_body** **(** :ref:`Node` body **)** const If ``true`` the given body overlaps the Area2D. .. _class_Area2D_set_collision_layer_bit: - void **set_collision_layer_bit** **(** :ref:`int` bit, :ref:`bool` value **)** Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier. .. _class_Area2D_set_collision_mask_bit: - void **set_collision_mask_bit** **(** :ref:`int` bit, :ref:`bool` value **)** Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.