# clock to maintain speed at 30fps clock = pygame.time.Clock() # Defining constants for screen SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 # Create screen object, takes a tuple, apparently #canvas = pygame.Surface((SCREEN_WIDTH, SCREEN_HEIGHT)) screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) hero_spritesheet = SpriteSheet('sprites/star-ovr.png') hero1 = hero_spritesheet.get_sprite(0, 0, 31, 47) screen.fill((255, 255, 255)) #canvas.blit(hero1, (0, SCREEN_HEIGHT-300)) #screen.blit(canvas, (0, 0)) pygame.display.update() # Instatiating Player player = Player() all_sprites = pygame.sprite.Group() all_sprites.add(player) # Variable to keep main loop running running = True
def __init__(self): """ Constructor function """ # Call the parent's constructor super().__init__() # -- Attributes # Set speed vector of player self.change_x = 0 self.change_y = 0 # This holds all the images for the animated walk left/right # of our player self.walking_frames_l = [] self.walking_frames_r = [] self.walking_frames_d = [] self.walking_frames_u = [] # What direction is the player facing? self.direction = "R" # List of sprites we can bump against self.level = None sprite_sheet = SpriteSheet("sprites/star-ovr.png") # Load all the left facing images into a list image = sprite_sheet.get_sprite(40, 0, 31, 47) self.walking_frames_l.append(image) image = sprite_sheet.get_sprite(76, 0, 31, 47) self.walking_frames_l.append(image) image = sprite_sheet.get_sprite(112, 0, 31, 47) self.walking_frames_l.append(image) image = sprite_sheet.get_sprite(148, 0, 31, 47) self.walking_frames_l.append(image) # Load all the right facing images, then flip them # to face left. image = sprite_sheet.get_sprite(40, 0, 31, 47) image = pygame.transform.flip(image, True, False) self.walking_frames_r.append(image) image = sprite_sheet.get_sprite(76, 0, 31, 47) image = pygame.transform.flip(image, True, False) self.walking_frames_r.append(image) image = sprite_sheet.get_sprite(112, 0, 31, 47) image = pygame.transform.flip(image, True, False) self.walking_frames_r.append(image) image = sprite_sheet.get_sprite(148, 0, 31, 47) image = pygame.transform.flip(image, True, False) self.walking_frames_r.append(image) # Load all the downward facing images into a list image = sprite_sheet.get_sprite(40, 56, 31, 47) self.walking_frames_d.append(image) image = sprite_sheet.get_sprite(76, 56, 31, 47) self.walking_frames_d.append(image) image = sprite_sheet.get_sprite(112, 56, 31, 47) self.walking_frames_d.append(image) image = sprite_sheet.get_sprite(148, 56, 31, 47) self.walking_frames_d.append(image) # Load all the upward images into a list image = sprite_sheet.get_sprite(40, 112, 31, 47) self.walking_frames_u.append(image) image = sprite_sheet.get_sprite(76, 112, 31, 47) self.walking_frames_u.append(image) image = sprite_sheet.get_sprite(112, 112, 31, 47) self.walking_frames_u.append(image) image = sprite_sheet.get_sprite(148, 112, 31, 47) self.walking_frames_u.append(image) # Set the image the player starts with self.image = self.walking_frames_r[0] # Set a reference to the image rect. self.rect = self.image.get_rect(center=(SCREEN_WIDTH/2, SCREEN_HEIGHT/2))