import pgzrun
WIDTH=800
HEIGHT=600
TITLE='Basketball'
class Basketball(Actor):
def __init__(self, image, pos):
super().__init__(image, pos, anchor=('left','bottom'))
self.falling_speed = 0
self.basketball_frame = 0
self.spinning = True
self.counter = 0
def update(self):
self.counter += 1
if self.spinning==True:
if self.counter==4:
self.basketball_frame += 1
self.counter = 0
if self.basketball_frame == 12:
self.basketball_frame = 0
if self.basketball_frame<10:
self.image = '0' + str(self.basketball_frame) + '-basketball'
else:
self.image = str(self.basketball_frame) + '-basketball'
if self.y>=HEIGHT:
# test if the ball is at the bottom of the window
if self.falling_speed<1:
self.spinning = False
return # stop the ball from bouncing any more
else:
sounds.bounce.play()
self.falling_speed *= -1 # make ball "fall upwards"
self.falling_speed += 1.5 # lose some speed to friction
self.y = self.y + self.falling_speed # move the ball
else:
self.falling_speed += 0.5 # speed up
self.y = self.y + self.falling_speed # move the ball
basketball1 = Basketball('00-basketball', (0,130))
basketball2 = Basketball('00-basketball', (200,90))
basketball3 = Basketball('00-basketball', (400,110))
basketball4 = Basketball('00-basketball', (600,150))
def update():
basketball1.update()
basketball2.update()
basketball3.update()
basketball4.update()
def draw():
screen.fill((255,255,255))
basketball1.draw()
basketball2.draw()
basketball3.draw()
basketball4.draw()
def on_key_down(key):
if key==keys.SPACE:
basketball1.falling_speed = 12
pgzrun.go()