PhysicsBody2D

Inherits: CollisionObject2D < Node2D < CanvasItem < Node < Object

Inherited By: KinematicBody2D, RigidBody2D, StaticBody2D

Base class for all objects affected by physics in 2D space.

Description

PhysicsBody2D is an abstract base class for implementing a physics body. All *Body2D types inherit from it.

Tutorials

Properties

int collision_layer 1
int collision_mask 1
bool input_pickable false (parent override)
int layers

Methods

void add_collision_exception_with ( Node body )
Array get_collision_exceptions ( )
bool get_collision_layer_bit ( int bit ) const
bool get_collision_mask_bit ( int bit ) const
void remove_collision_exception_with ( Node body )
void set_collision_layer_bit ( int bit, bool value )
void set_collision_mask_bit ( int bit, bool value )

Property Descriptions

int collision_layer

Default 1
Setter set_collision_layer(value)
Getter get_collision_layer()

The physics layers this area is in.

Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.

A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See Collision layers and masks in the documentation for more information.

int collision_mask

Default 1
Setter set_collision_mask(value)
Getter get_collision_mask()

The physics layers this area scans for collisions. See Collision layers and masks in the documentation for more information.

int layers

Both collision_layer and collision_mask. Returns collision_layer when accessed. Updates collision_layer and collision_mask when modified.

Method Descriptions

void add_collision_exception_with ( Node body )

Adds a body to the list of bodies that this body can't collide with.

Array get_collision_exceptions ( )

Returns an array of nodes that were added as collision exceptions for this body.

bool get_collision_layer_bit ( int bit ) const

Returns an individual bit on the collision_layer.

bool get_collision_mask_bit ( int bit ) const

Returns an individual bit on the collision_mask.

void remove_collision_exception_with ( Node body )

Removes a body from the list of bodies that this body can't collide with.

void set_collision_layer_bit ( int bit, bool value )

Sets individual bits on the collision_layer bitmask. Use this if you only need to change one layer's value.

void set_collision_mask_bit ( int bit, bool value )

Sets individual bits on the collision_mask bitmask. Use this if you only need to change one layer's value.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_physicsbody2d.html