Maluia

healthbar

Sep 12th, 2024 (edited)
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. import pygame
  2. pygame.font.init()
  3.  
  4.  
  5. WIDTH, HEIGHT = 1000, 800
  6.  
  7. window = pygame.display.set_mode((WIDTH, HEIGHT), pygame.RESIZABLE)
  8.  
  9. vec = pygame.math.Vector2
  10. HITPOINTS = 5 #how many hitpoints the player spawns with. Max 5 (how many sprites I have)
  11.  
  12. class HealthBar(pygame.sprite.Sprite):
  13.     def __init__(self, x, y):
  14.         super().__init__()
  15.         self.load_animations()
  16.  
  17.  
  18.         self.health = HITPOINTS
  19.         self.image = self.health_animations[self.health]
  20.         self.pos = vec(x,y)
  21.  
  22.     def render(self, display):
  23.         display.blit(self.image, self.pos)
  24.    
  25.    
  26.     def takeDamage(self, damage):
  27.         self.health -= damage
  28.         if self.health < 0: self.health = 0
  29.  
  30.         self.image = self.health_animations[self.health]
  31.        
  32.  
  33.     def heal(self, heal):
  34.         self.health += heal
  35.         if self.health > HITPOINTS: self.health = HITPOINTS
  36.  
  37.         self.image = self.health_animations[self.health]
  38.    
  39.     def load_animations(self):
  40.         self.health_animations = [pygame.image.load("assets/Hearts/heart0.png").convert_alpha(),
  41.                                   pygame.image.load("assets/Hearts/heart1.png").convert_alpha(),
  42.                                   pygame.image.load("assets/Hearts/heart2.png").convert_alpha(),
  43.                                   pygame.image.load("assets/Hearts/heart3.png").convert_alpha(),
  44.                                   pygame.image.load("assets/Hearts/heart4.png").convert_alpha(),
  45.                                   pygame.image.load("assets/Hearts/heart5.png").convert_alpha()]
Advertisement
Add Comment
Please, Sign In to add comment