Function bevy::sprite::collide_aabb::collide
pub fn collide(
a_pos: Vec3,
a_size: Vec2,
b_pos: Vec3,
b_size: Vec2
) -> Option<Collision>
Expand description
Axis-aligned bounding box collision with “side” detection
a_pos
andb_pos
are the center positions of the rectangles, typically obtained by extracting thetranslation
field from aTransform
componenta_size
andb_size
are the dimensions (width and height) of the rectangles.
The return value is the side of B
that A
has collided with. Collision::Left
means that
A
collided with B
’s left side. Collision::Top
means that A
collided with B
’s top side.
If the collision occurs on multiple sides, the side with the shallowest penetration is returned.
If all sides are involved, Collision::Inside
is returned.