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)