Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Rain:
- def __init__(self, carte, ecran, perso, blocs):
- self.carte = carte
- self.ecran = ecran
- self.personnage = perso
- self.waterflow = True
- self.taskdone = False
- self.rain_falltime = 0
- self.rain_velocity = 2
- self.rain_overlay = pygame.image.load("Particules" + os.sep + "waterflow.png").convert_alpha()
- self.rain_img = []
- self.blocs = blocs
- pygame.mixer.music.load("Sons" + os.sep + "6stream.wav")
- self.draw_overlay()
- def draw_overlay(self):
- for i in range(30):
- self.surf = pygame.Surface((30, 30))
- self.surf.fill((76, 76, 76))
- self.surf.set_colorkey((76, 76, 76))
- self.surf.blit(self.rain_overlay, (0, self.rain_falltime - self.rain_overlay.get_height()))
- self.surf.blit(self.rain_overlay, (0, self.rain_falltime))
- self.surf.convert_alpha()
- self.rain_falltime += self.rain_velocity
- self.rain_falltime %= self.rain_overlay.get_height()
- self.rain_img.append(self.surf)
- self.rain_falltime = 0
- def __render(self):
- self.rain_falltime += self.rain_velocity
- for x in range(self.carte.get_space()):
- for y in range(19):
- self.ecran.blit(self.rain_img[self.rain_falltime % len(self.rain_img)], (x * 30, y * 30))
- def update(self):
- if not self.waterflow:
- if not self.taskdone:
- self.personnage.set_speed(self.personnage.get_speed() - 20)
- self.taskdone = True
- pygame.mixer.music.stop()
- if self.waterflow:
- self.__render()
- if not pygame.mixer.music.get_busy():
- pygame.mixer.music.load("Sons" + os.sep + "6stream.wav")
- pygame.mixer.music.play()
- def toggle_downfalled(self):
- if self.waterflow:
- self.personnage.set_speed(self.personnage.get_speed() + 20)
- self.waterflow = False
- else:
- self.personnage.set_speed(self.personnage.get_speed() - 20)
- self.waterflow = True
- def do(self, action):
- if action == 'toggledownfalled':
- self.toggle_downfalled()
- def get_action(self):
- return self.waterflow
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement