Edge detection
Edge detection
When dealing with edge detection you must manually add it to your programs. Pygame does offer collision detection, which will be covered later, but simple screen boundary checks can be done using 2 if statements. By adding the x and y speeds (shown as dx and dy), you can easily manipulate them by reversing the sign (multiply by -1).
from pygame import *
init()
width = 640
height = 480
screen = display.set_mode((width, height)) # tuple
display.set_caption('Graphics')
animationTimer = time.Clock()
x=10
y=10
dx = 2 # how fast/direction in x
dy = 3 # how fast/direction in y
endProgram = False
# game loops
# check input
# Update positions / game logic
# draw frame
while not endProgram:
# Check input
for e in event.get():
if e.type == QUIT:
endProgram = True
# update position
x += dx
y += dy
# border check
if y<0 or y>height - 40 :
dy *= -1
if x<0 or x>width - 40:
dx *= -1
# draw stuff
screen.fill((100,100,200))
# circle
draw.ellipse(screen, (0,255,0), (x, y, 40, 40))
# limit to 30 frames per second
animationTimer.tick(100)
# update the screen!
display.update()











