forked from 445654/Escape
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAnimation.py
More file actions
89 lines (85 loc) · 2.84 KB
/
Animation.py
File metadata and controls
89 lines (85 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from Evenement import *
from Skin import *
class Animation(Evenement):
def __init__(self,temps_restant,position_lab,surface):
self.temps_restant=temps_restant
self.temps_initial=temps_restant
#position dans le labyrinthe
self.position_lab=position_lab
#position sur l'écran
self.position_pixel=None
#surface sur laquelle on dessine l'animation
self.surface=surface
def setPosition(self,new_position):
self.position_pixel=new_position
def getPosition(self):
return self.position_lab
def execute(self):
"""
Fonction qui exécute un tic de l'animation(1 frame = 1 tic)
Entrées:
Rien
Sorties:
un booléen indiquant si l'animation est fini
"""
self.temps_restant-=1
if self.position_pixel!=None:
#on exécute l'animation
self.action()
return (self.temps_restant<=0)
class Attaque_omnidirectionnelle(Animation):
def action(self):
"""
Fonction qui exécute l'animation d'attaque
Entrées:
Rien
Sorties:
Rien
"""
#on alterne entre deux animations
if self.temps_restant%2 == 0:
SKIN_STOMP_1.dessine_toi(self.surface,self.position_pixel)
else:
SKIN_STOMP_2.dessine_toi(self.surface,self.position_pixel)
class Attaque_unidirectionnelle(Animation):
def __init__(self,temps_restant,position_lab,direction,surface):
self.temps_restant=temps_restant
self.temps_initial=temps_restant
#position dans le labyrinthe
self.position_lab=position_lab
#position sur l'écran
self.position_pixel=None
#surface sur laquelle on dessine l'animation
self.surface=surface
#direction de l'attaque
self.direction=direction
def action(self):
"""
Fonction qui exécute l'animation d'attaque
Entrées:
Rien
Sorties:
Rien
"""
SKIN_MANCHE_LANCE.dessine_toi(self.surface,self.position_pixel,self.direction)
class Attaque_unidirectionnelle_fin(Animation):
def __init__(self,temps_restant,position_lab,direction,surface):
self.temps_restant=temps_restant
self.temps_initial=temps_restant
#position dans le labyrinthe
self.position_lab=position_lab
#position sur l'écran
self.position_pixel=None
#surface sur laquelle on dessine l'animation
self.surface=surface
#direction de l'attaque
self.direction=direction
def action(self):
"""
Fonction qui exécute l'animation d'attaque
Entrées:
Rien
Sorties:
Rien
"""
SKIN_POINTE_LANCE.dessine_toi(self.surface,self.position_pixel,self.direction)