added constant shoot

FIX: remove the bullet when it exits the screen
This commit is contained in:
kleph 2009-08-17 01:06:52 +02:00
parent 1a46e13708
commit dd81190a4e

View file

@ -84,9 +84,21 @@ class Bullet(Object):
Object.__init__(self, frames, pos, (0, 0))
self.type = type
def update(self):
# destroy when collide or when exists the screen
if self.in_screen():
self.rect.move_ip(self.speed)
else:
globals.bullets_list.remove(self)
def in_screen(self):
""" detect if bullet is in the screen """
return self.rect.colliderect(globals.screen.get_rect())
class Player(Object):
def __init__(self, frames, pos, speed):
Object.__init__(self, frames, pos, speed)
self.shooting = False
def shoot(self):
""" create a bullet and add it to the global bullet list"""
@ -106,10 +118,15 @@ class Player(Object):
globals.moving_objects.remove(self)
def start_shoot(self):
self.shoot()
self.shooting = True
def stop_shoot(self):
pass
self.shooting = False
def update(self):
self.rect.move_ip(self.speed)
if self.shooting:
self.shoot()
def init_gfx():
"""graphics initialisation"""