This module provides easy-to-use collision detection functions, from
basic rectangle-based collision detection to shape-based collision
detection.
-
sge.collision.rectangles_collide(x1, y1, w1, h1, x2, y2, w2, h2)[source]
Return whether or not two rectangles collide.
Arguments:
- x1 – The horizontal position of the first rectangle.
- y1 – The vertical position of the first rectangle.
- w1 – The width of the first rectangle.
- h1 – The height of the first rectangle.
- x2 – The horizontal position of the second rectangle.
- y2 – The vertical position of the second rectangle.
- w2 – The width of the second rectangle.
- h2 – The height of the second rectangle.
-
sge.collision.masks_collide(x1, y1, mask1, x2, y2, mask2)[source]
Return whether or not two masks collide.
Arguments:
- x1 – The horizontal position of the first mask.
- y1 – The vertical position of the first mask.
- mask1 – The first mask (see below).
- x2 – The horizontal position of the second mask.
- y2 – The vertical position of the second mask.
- mask2 – The second mask (see below).
mask1 and mask2 are both lists of lists of boolean values.
Each value in the mask indicates whether or not a pixel is counted
as a collision; the masks collide if at least one pixel at the same
location is True for both masks.
Masks are indexed as mask[x][y], where x is the column and
y is the row.
-
sge.collision.rectangle(x, y, w, h, other=None)[source]
Return a list of objects colliding with a rectangle.
Arguments:
- x – The horizontal position of the rectangle.
- y – The vertical position of the rectangle.
- w – The width of the rectangle.
- h – The height of the rectangle.
- other – What to check for collisions with. See the
documentation for sge.dsp.Object.collision() for more
information.
-
sge.collision.ellipse(x, y, w, h, other=None)[source]
Return a list of objects colliding with an ellipse.
Arguments:
- x – The horizontal position of the imaginary rectangle
containing the ellipse.
- y – The vertical position of the imaginary rectangle
containing the ellipse.
- w – The width of the ellipse.
- h – The height of the ellipse.
- other – What to check for collisions with. See the
documentation for sge.dsp.Object.collision() for more
information.
-
sge.collision.circle(x, y, radius, other=None)[source]
Return a list of objects colliding with a circle.
Arguments:
- x – The horizontal position of the center of the circle.
- y – The vertical position of the center of the circle.
- radius – The radius of the circle.
- other – What to check for collisions with. See the
documentation for sge.dsp.Object.collision() for more
information.
-
sge.collision.line(x1, y1, x2, y2, other=None)[source]
Return a list of objects colliding with a line segment.
Arguments:
- x1 – The horizontal position of the first endpoint of the
line segment.
- y1 – The vertical position of the first endpoint of the line
segment.
- x2 – The horizontal position of the second endpoint of the
line segment.
- y2 – The vertical position of the second endpoint of the line
segment.
- other – What to check for collisions with. See the
documentation for sge.dsp.Object.collision() for more
information.