Advertisement
Guest User

Untitled

a guest
May 3rd, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1. class Rain:
  2.     def __init__(self, carte, ecran, perso, blocs):
  3.         self.carte = carte
  4.         self.ecran = ecran
  5.         self.personnage = perso
  6.         self.waterflow = True
  7.         self.taskdone = False
  8.         self.rain_falltime = 0
  9.         self.rain_velocity = 2
  10.         self.rain_overlay = pygame.image.load("Particules" + os.sep + "waterflow.png").convert_alpha()
  11.         self.rain_img = []
  12.         self.blocs = blocs
  13.         pygame.mixer.music.load("Sons" + os.sep + "6stream.wav")
  14.         self.draw_overlay()
  15.  
  16.     def draw_overlay(self):
  17.         for i in range(30):
  18.             self.surf = pygame.Surface((30, 30))
  19.             self.surf.fill((76, 76, 76))
  20.             self.surf.set_colorkey((76, 76, 76))
  21.  
  22.             self.surf.blit(self.rain_overlay, (0, self.rain_falltime - self.rain_overlay.get_height()))
  23.             self.surf.blit(self.rain_overlay, (0, self.rain_falltime))
  24.  
  25.             self.surf.convert_alpha()
  26.  
  27.             self.rain_falltime += self.rain_velocity
  28.             self.rain_falltime %= self.rain_overlay.get_height()
  29.             self.rain_img.append(self.surf)
  30.         self.rain_falltime = 0
  31.  
  32.     def __render(self):
  33.         self.rain_falltime += self.rain_velocity
  34.         for x in range(self.carte.get_space()):
  35.             for y in range(19):
  36.                 self.ecran.blit(self.rain_img[self.rain_falltime % len(self.rain_img)], (x * 30, y * 30))
  37.  
  38.     def update(self):
  39.         if not self.waterflow:
  40.             if not self.taskdone:
  41.                 self.personnage.set_speed(self.personnage.get_speed() - 20)
  42.                 self.taskdone = True
  43.             pygame.mixer.music.stop()
  44.         if self.waterflow:
  45.             self.__render()
  46.             if not pygame.mixer.music.get_busy():
  47.                 pygame.mixer.music.load("Sons" + os.sep + "6stream.wav")
  48.                 pygame.mixer.music.play()
  49.  
  50.     def toggle_downfalled(self):
  51.         if self.waterflow:
  52.             self.personnage.set_speed(self.personnage.get_speed() + 20)
  53.             self.waterflow = False
  54.         else:
  55.             self.personnage.set_speed(self.personnage.get_speed() - 20)
  56.             self.waterflow = True
  57.  
  58.     def do(self, action):
  59.         if action == 'toggledownfalled':
  60.             self.toggle_downfalled()
  61.  
  62.     def get_action(self):
  63.         return self.waterflow
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement