Table of Contents

Class KinematicCollision2D

Namespace
Godot
Assembly
GodotSharp.dll

Holds collision data from the movement of a PhysicsBody2D, usually from MoveAndCollide(Vector2, bool, float, bool). When a PhysicsBody2D is moved, it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision2D object is returned.

The collision data includes the colliding object, the remaining motion, and the collision position. This data can be used to determine a custom response to the collision.

public class KinematicCollision2D : RefCounted, IDisposable
Inheritance
KinematicCollision2D
Implements
Inherited Members

Constructors

KinematicCollision2D()

public KinematicCollision2D()

Methods

GetAngle(Vector2?)

Returns the collision angle according to upDirection, which is Vector2.UP by default. This value is always positive.

public float GetAngle(Vector2? upDirection = null)

Parameters

upDirection Vector2?

If the parameter is null, then the default value is new Vector2(0, -1).

Returns

float

GetCollider()

Returns the colliding body's attached GodotObject.

public GodotObject GetCollider()

Returns

GodotObject

GetColliderId()

Returns the unique instance ID of the colliding body's attached GodotObject. See GetInstanceId().

public ulong GetColliderId()

Returns

ulong

GetColliderRid()

Returns the colliding body's Rid used by the PhysicsServer2D.

public Rid GetColliderRid()

Returns

Rid

GetColliderShape()

Returns the colliding body's shape.

public GodotObject GetColliderShape()

Returns

GodotObject

GetColliderShapeIndex()

Returns the colliding body's shape index. See CollisionObject2D.

public int GetColliderShapeIndex()

Returns

int

GetColliderVelocity()

Returns the colliding body's velocity.

public Vector2 GetColliderVelocity()

Returns

Vector2

GetDepth()

Returns the colliding body's length of overlap along the collision normal.

public float GetDepth()

Returns

float

GetLocalShape()

Returns the moving object's colliding shape.

public GodotObject GetLocalShape()

Returns

GodotObject

GetNormal()

Returns the colliding body's shape's normal at the point of collision.

public Vector2 GetNormal()

Returns

Vector2

GetPosition()

Returns the point of collision in global coordinates.

public Vector2 GetPosition()

Returns

Vector2

GetRemainder()

Returns the moving object's remaining movement vector.

public Vector2 GetRemainder()

Returns

Vector2

GetTravel()

Returns the moving object's travel before collision.

public Vector2 GetTravel()

Returns

Vector2

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool