sge.collision

This module provides easy-to-use collision detection functions, from basic rectangle-based collision detection to shape-based collision detection.

sge.collision Functions

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.