sge.collision¶
Contents
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
andmask2
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 isTrue
for both masks.Masks are indexed as
mask[x][y]
, wherex
is the column andy
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 forsge.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 forsge.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 forsge.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 forsge.dsp.Object.collision()
for more information.