W3cubDocs

/Godot 2.1

PhysicsBody2D

Inherits: CollisionObject2D < Node2D < CanvasItem < Node < Object

Inherited By: RigidBody2D, StaticBody2D, KinematicBody2D

Category: Core

Brief Description

Base class for all objects affected by physics.

Member Functions

void add_collision_exception_with ( PhysicsBody2D body )
int get_collision_mask ( ) const
bool get_collision_mask_bit ( int bit ) const
int get_layer_mask ( ) const
bool get_layer_mask_bit ( int bit ) const
Vector2 get_one_way_collision_direction ( ) const
float get_one_way_collision_max_depth ( ) const
void remove_collision_exception_with ( PhysicsBody2D body )
void set_collision_mask ( int mask )
void set_collision_mask_bit ( int bit, bool value )
void set_layer_mask ( int mask )
void set_layer_mask_bit ( int bit, bool value )
void set_one_way_collision_direction ( Vector2 dir )
void set_one_way_collision_max_depth ( float depth )

Description

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

Member Function Description

void add_collision_exception_with ( PhysicsBody2D body )

Adds a body to the collision exception list. This list contains bodies that this body will not collide with.

int get_collision_mask ( ) const

Return the physics layers this area can scan for collisions.

bool get_collision_mask_bit ( int bit ) const

Return an individual bit on the collision mask.

int get_layer_mask ( ) const

Return the physics layer this area is in.

bool get_layer_mask_bit ( int bit ) const

Return an individual bit on the collision mask.

Vector2 get_one_way_collision_direction ( ) const

Return the direction used for one-way collision detection.

float get_one_way_collision_max_depth ( ) const

Return how far a body can go through this one, when it allows one-way collisions.

void remove_collision_exception_with ( PhysicsBody2D body )

Removes a body from the collision exception list.

void set_collision_mask ( int mask )

Set the physics layers this area can scan for collisions.

void set_collision_mask_bit ( int bit, bool value )

Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.

void set_layer_mask ( int mask )

Set the physics layers this area is in.

Collidable objects can exist in any of 32 different layers. These layers are not visual, but more of a tagging system instead. A collidable can use these layers/tags to select with which objects it can collide, using set_collision_mask.

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.

void set_layer_mask_bit ( int bit, bool value )

Set/clear individual bits on the layer mask. This makes getting a body in/out of only one layer easier.

void set_one_way_collision_direction ( Vector2 dir )

Set a direction in which bodies can go through this one. If this value is different from (0,0), any movement within 90 degrees of this vector is considered a valid movement. Set this direction to (0,0) to disable one-way collisions.

void set_one_way_collision_max_depth ( float depth )

Set how far a body can go through this one, when it allows one-way collisions (see set_one_way_collision_direction).

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