Mercurial > touhou
comparison pytouhou/game/face.py @ 440:b9d2db93972f
Add a base Element class for every object in pytouhou.game.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Fri, 30 Aug 2013 14:16:08 +0200 |
parents | 1222341ea22c |
children | e35bef07290d |
comparison
equal
deleted
inserted
replaced
439:723a3e67a223 | 440:b9d2db93972f |
---|---|
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 ## GNU General Public License for more details. | 12 ## GNU General Public License for more details. |
13 ## | 13 ## |
14 | 14 |
15 | 15 |
16 from pytouhou.game.element import Element | |
16 from pytouhou.game.sprite import Sprite | 17 from pytouhou.game.sprite import Sprite |
17 from pytouhou.vm.anmrunner import ANMRunner | 18 from pytouhou.vm.anmrunner import ANMRunner |
18 | 19 |
19 | 20 |
20 class Face(object): | 21 class Face(Element): |
21 __slots__ = ('_anms', 'sprite', 'anmrunner', 'side', 'x', 'y', 'objects') | 22 __slots__ = ('_anms', 'side') |
22 | 23 |
23 def __init__(self, anms, effect, side): | 24 def __init__(self, anms, effect, side): |
25 Element.__init__(self, (-32, -16)) | |
26 | |
24 self._anms = anms | 27 self._anms = anms |
25 self.sprite = Sprite() | 28 self.sprite = Sprite() |
26 self.anmrunner = ANMRunner(self._anms[0][0][0], side * 2, self.sprite) | 29 self.anmrunner = ANMRunner(self._anms[0][0][0], side * 2, self.sprite) |
27 self.side = side | 30 self.side = side |
28 self.load(0) | 31 self.load(0) |
29 self.animate(effect) | 32 self.animate(effect) |
30 self.objects = [self] | |
31 | 33 |
32 #FIXME: the same as game.effect. | 34 #FIXME: the same as game.effect. |
33 self.x = -32 | |
34 self.y = -16 | |
35 self.sprite.allow_dest_offset = True | 35 self.sprite.allow_dest_offset = True |
36 | 36 |
37 | 37 |
38 def animate(self, effect): | 38 def animate(self, effect): |
39 self.anmrunner.interrupt(effect) | 39 self.anmrunner.interrupt(effect) |