comparison demos/shooter/scripts/ships/enemies.py @ 453:cf53848fb187

Scene now gets updated when an object moves from one node to another. Player is now part of the scene. Projectiles can be files by both player and enemies. Some code cleanup.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Tue, 06 Apr 2010 19:12:41 +0000
parents f07d779362da
children bd7e8f708adf
comparison
equal deleted inserted replaced
452:f07d779362da 453:cf53848fb187
26 from scripts.common.helpers import Rect 26 from scripts.common.helpers import Rect
27 from scripts.weapons import Weapon 27 from scripts.weapons import Weapon
28 28
29 29
30 class Saucer1(Ship): 30 class Saucer1(Ship):
31 def __init__(self, model, name, layer, findInstance=True): 31 def __init__(self, scene, name, findInstance=True):
32 super(Saucer1, self).__init__(model, name, layer, findInstance) 32 super(Saucer1, self).__init__(scene, name, findInstance)
33 self._dir = 0 33 self._dir = 0
34 self._time = 500 34 self._time = 500
35 self.width = 0.075 35 self.width = 0.075
36 self.height = 0.075 36 self.height = 0.075
37 self.velocity.x = -0.5 37 self.velocity.x = -0.5
38
39 self.weapon = Weapon(self._scene, self, 1000)
38 40
39 def update(self, timedelta): 41 def update(self, timedelta):
40 if self._dir == 1: 42 if self._dir == 1:
41 self.applyThrust(fife.DoublePoint(0,-0.5), timedelta) 43 self.applyThrust(fife.DoublePoint(0,-0.5), timedelta)
42 elif self._dir == 0: 44 elif self._dir == 0:
53 self._time += timedelta 55 self._time += timedelta
54 56
55 super(Saucer1, self).update(timedelta) 57 super(Saucer1, self).update(timedelta)
56 58
57 class Saucer2(Ship): 59 class Saucer2(Ship):
58 def __init__(self, model, name, layer, findInstance=True): 60 def __init__(self, scene, name, findInstance=True):
59 super(Saucer2, self).__init__(model, name, layer, findInstance) 61 super(Saucer2, self).__init__(scene, name, findInstance)
60 self._dir = 0 62 self._dir = 0
61 self._time = 1000 63 self._time = 1000
62 self.width = 0.2 64 self.width = 0.2
63 self.height = 0.2 65 self.height = 0.2
64 self.velocity.x = -0.1 66 self.velocity.x = -0.1
67
68 self.weapon = Weapon(self._scene, self, 2000)
65 69
66 def update(self, timedelta): 70 def update(self, timedelta):
67 if self._dir == 1: 71 if self._dir == 1:
68 self.applyThrust(fife.DoublePoint(0,-0.25), timedelta) 72 self.applyThrust(fife.DoublePoint(0,-0.25), timedelta)
69 elif self._dir == 0: 73 elif self._dir == 0: