1 import pygame
2
4
5 - def __init__(self, images, textfileName, transparent = False, x = 0, y = 0):
6 pygame.sprite.Sprite.__init__(self)
7
8 self._images = []
9 self._origImages = []
10 for i in range(len(images)):
11 self._images.append(images[i].convert_alpha())
12 self._origImages.append(images[i].convert_alpha())
13
14 blank = pygame.Surface((0,0))
15
16 if(transparent):
17 for i in range(len(images)):
18 self._images[i] = blank
19
20 self._start = pygame.time.get_ticks()
21 self.image = self._images[0]
22 self._last_update = 0
23 self._frame = 0
24 self.animations = {}
25 self._current_anim = ""
26 self.rect = self.image.get_rect()
27 self.xPos = x
28 self.yPos = y
29 self.myAngle = 0
30 self.xSize = self.image.get_width()
31 self.ySize = self.image.get_height()
32 self.rect.topleft = (x,y)
33
34 if textfileName != '':
35
36 f = open(textfileName, 'r')
37 currentLine = f.readline()
38 while currentLine != '':
39
40 animValues = currentLine.split(",")
41 self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])]
42 currentLine = f.readline()
43
44 else:
45
46 self.animations["anim1"] = [0, len(self._images)]
47 self.goToAnim("anim1")
48
49 self.makeTransparent(transparent)
50
52
53 self._images = []
54 self._origImages = []
55 for i in range(len(newImages)):
56 self._images.append(newImages[i].convert_alpha())
57 self._origImages.append(newImages[i].convert_alpha())
58
59 self.image = self._images[0]
60 self._frame = 0
61 self.xSize = self.image.get_width()
62 self.ySize = self.image.get_height()
63
65 self._images.extend(images)
66 self._origImages.extend(images)
67
69 if self.animations.get(animName, 0) != 0:
70 self._current_anim = animName
71 self._frame = self.animations[animName][0]
72 self.image = self._images[self._frame]
73
75
76 if frame <= len(self._images):
77 self._frame = frame
78 self.image = self._images[self._frame]
79
81 self.xPos += x
82 self.yPos += y
83 self.rect.right += x
84 self.rect.top += y
85
86 - def scale(self, x=None, y=None):
87 if type(x).__name__=='int': self.xSize = x
88 if type(y).__name__=='int': self.ySize = y
89
90 for i in range(len(self._images)):
91 self._origImages[i] = pygame.transform.scale(self._origImages[i], (self.xSize, self.ySize))
92 self._images[i] = self._origImages[i]
93
94 - def fill(self, color):
95 for i in range(len(self._images)):
96
97 self._origImages[i].fill(color)
98 self._images[i].fill(color)
99
102
105
107 self.myAngle += angle
108 for i in range(len(self._images)):
109 self._images[i] = pygame.transform.rotate(self._origImages[i], self.myAngle)
110
113
115 if type(x).__name__=='int': self.xPos = x
116 if type(y).__name__=='int': self.yPos = y
117 self.rect.topleft = (self.xPos, self.yPos)
118
121
124
126 myColorKey = images[0].get_at((x,y))
127 setColorKey(myColorKey)
128
130 if bool == True:
131 surf = pygame.Surface((0,0))
132 for i in range(len(self._images)):
133 self._images[i] = surf
134 else:
135 for i in range(len(self._images)):
136 self._images[i] = self._origImages[i]
137 self.image = self._images[self._frame]
138
140 for i in range(len(self._images)):
141 self._images[i].set_colorkey(aColor)
142
144 timePassed = t + self._last_update
145
146 if (timePassed) > 200:
147
148 self.image = self._images[self._frame]
149 self._last_update = timePassed%1000
150 else:
151 self._last_update = timePassed
152
155
158