class Dead_duck: def __init__(self,x,y): self.deadDuck = SpriteSheet("dead_duck.png") self.frames = [] self.image = self.deadDuck.get_image(85,0,40,70) self.frames.append(self.image) self.image = self.deadDuck.get_image(125,0,40,70) self.frames.append(self.image) self.image = self.deadDuck.get_image(165, 0, 40, 70) self.frames.append(self.image) self.image = self.deadDuck.get_image(0,0,70,70) self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.change = 8 def fall(self): self.rect.y += self.change pos = self.rect.x frame = (pos // 30) % len(self.frames) if self.rect.y > 400: self.change = 0 dog = pygame.image.load("dog.png").convert_alpha() screen.blit(dog,(self.rect.x,self.rect.y)) self.image = self.frames[frame] def draw(self): screen.blit(self.image,(self.rect.x,self.rect.y))
def __init__(self, ai_settings, screen): """Initialize the alien, and set its starting position.""" super(Bunker, self).__init__() self.screen = screen self.ai_settings = ai_settings # Load the alien image, and set its rect attribute. self.bunker_frames = [] bunker_sprite = SpriteSheet("images/SpriteSheet.png") image = bunker_sprite.get_image(0, 346, 96, 64) self.bunker_frames.append(image) image = bunker_sprite.get_image(0, 346, 96, 64) self.bunker_frames.append(image) self.image = self.bunker_frames[0] self.rect = self.image.get_rect() # Start each new alien near the top left of the screen. self.rect.x = self.rect.width self.rect.y = self.rect.height # Store the alien's exact position. self.x = float(self.rect.x)
def __init__(self): """ Constructor function """ # Call the parent's constructor pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("mario.png") # Load all the right facing images into a list image = sprite_sheet.get_image(0, 0, constants.BLOCK_SIZE, 2 * constants.BLOCK_SIZE) self.standing = image image = sprite_sheet.get_image(5 * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, 2 * constants.BLOCK_SIZE) self.jumping = image for i in xrange(1, 4): image = sprite_sheet.get_image(i * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, 2 * constants.BLOCK_SIZE) self.walking_frames.append(image) self.walking_frames.append(self.walking_frames[1]) # Set the image the player starts with self.image = self.standing # Set a referance to the image rect. self.rect = self.image.get_rect() self.rect.y = constants.BLOCK_SIZE * (constants.BLOCK_HEIGHT - 3.5) self.rect.x = constants.BLOCK_SIZE * (constants.BLOCK_WIDTH / 2.0 - .5)
def __init__(self, ai_settings, screen): """Initialize the alien, and set its starting position.""" super(Alien2, self).__init__() self.screen = screen self.ai_settings = ai_settings # Load the alien image, and set its rect attribute. self.alien2_frames = [] alien2_sprite = SpriteSheet("images/SpriteSheet.png") for num_pics1 in range(24): image = alien2_sprite.get_image(32, 0, 32, 32) self.alien2_frames.append(image) for num_pics2 in range(24): image = alien2_sprite.get_image(32, 32, 32, 32) self.alien2_frames.append(image) self.image = self.alien2_frames[0] self.rect = self.image.get_rect() # Start each new alien near the top left of the screen. self.rect.x = self.rect.width self.rect.y = self.rect.height # Store the alien's exact position. self.x = float(self.rect.x) self.index = 0
def __init__(self): # kutsutaan parenttia super().__init__() #luodaan hahmo self.walking_frames_r = [] sprite_sheet = SpriteSheet("fatherlonglegssprite.png") image = sprite_sheet.get_image(12, 12, 80, 40) self.walking_frames_r.append(image) image2 = sprite_sheet.get_image(110, 12, 80, 55) self.walking_frames_r.append(image2) image3 = sprite_sheet.get_image(220, 12, 72, 55) self.walking_frames_r.append(image3) self.image = self.walking_frames_r[0] #luodaan referenssi self.rect = self.image.get_rect() # luodaan nopeudet self.change_x = 0 self.change_y = 0 # self.level = None
def load_spritesheet_from_image(imagepath): print("load_spritesheet_from_image()") spritesheet = SpriteSheet(imagepath) images = [] images.append(spritesheet.get_image(0, 0, 32, 32).convert()) images.append(spritesheet.get_image(32, 0, 32, 32).convert()) images.append(spritesheet.get_image(64, 0, 32, 32).convert()) images.append(spritesheet.get_image(96, 0, 32, 32).convert()) return images
def __init__(self, screen): sprite_sheet = SpriteSheet("Images/enemies.png") self.under_piranha = [] imagePop = pygame.transform.scale( sprite_sheet.get_image(390, 60, 19, 25), (32, 32)) self.under_piranha.append(imagePop) imagePop = pygame.transform.scale( sprite_sheet.get_image(420, 60, 19, 25), (32, 32)) self.under_piranha.append(imagePop) super().__init__(screen=screen, pop_list=self.under_piranha)
def __init__(self,screen): self.animation = [] sprite_sheet = SpriteSheet("Images/items.png") self.image = pygame.transform.scale(sprite_sheet.get_image(128, 95, 8, 14), (16, 28)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(160, 95, 4, 14), (8, 28)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(191, 95, 1, 14), (2, 28)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(220, 95, 4, 14), (8, 28)) self.animation.append(self.image) super().__init__(screen=screen, animation=self.animation)
def __init__(self,screen): self.animation = [] sprite_sheet = SpriteSheet("Images/items.png") self.image = pygame.transform.scale(sprite_sheet.get_image(4, 64, 20, 16), (32, 32)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(34, 64, 20, 16), (32, 32)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(64, 64, 20, 16), (32, 32)) self.animation.append(self.image) self.image = pygame.transform.scale(sprite_sheet.get_image(94, 64, 20, 16), (32, 32)) self.animation.append(self.image) super().__init__(screen=screen, animation=self.animation)
def __init__(self, screen): sprite_sheet = SpriteSheet("images/enemies.png") self.goombas = [] image = pygame.transform.scale(sprite_sheet.get_image(0, 4, 16, 16), (32, 32)) self.goombas.append(image) image = pygame.transform.scale(sprite_sheet.get_image(30, 4, 16, 16), (32, 32)) self.goombas.append(image) # next image for squished goomba """image = pygame.transform.scale(sprite_sheet.get_image(60, 5, 16, 16), (30, 30)) self.goombas.append(image)""" super().__init__(screen=screen, walk_list=self.goombas)
class PowerUp(Sprite): """ Represents a powerup""" def __init__(self, P_TYPE, screen, x, y): """ Init attributes""" super().__init__() # Attributes self.P_TYPE = P_TYPE self.sheet = settings.power_up_sheet self.sheet_cols = settings.power_up_sheet_cols self.sheet_rows = settings.power_up_sheet_rows self.spritesheet = SpriteSheet(self.sheet, self.sheet_cols, self.sheet_rows) self.image = self.spritesheet.get_image(int(self.P_TYPE), colorkey=-1) self.x = x self.y = y self.width = self.image.get_width() self.height = self.image.get_height() self.rect = pygame.Rect(x, y, self.width, self.height) self.screen = screen self.spin_degrees = 1 * settings.power_up_spin_factor def draw(self): """ Draws powerup to screen""" self.spritesheet.draw(self.screen, int(self.P_TYPE), self.rect.x, self.rect.y) def update(self): """ Updates movement of powerup""" self.rect.y += settings.power_up_speed_factor
class Animation(object): """An object useful for animations with sprites""" def __init__(self, images, tilesize, length, aps): self.images = [] self.tilesize = tilesize self.aps = aps # Animations loops per second self.sprite_strip = SpriteSheet(images) self.index = 0 self.count = 0 self.frame_loop = 30 / self.aps # How many cycles of animation fit in 1 second self.frame_tick = math.ceil( self.frame_loop / length ) # How many ticks need to be spent of one frame of animation self.end_count = self.frame_tick * length for i in range(length): x = self.sprite_strip.get_image(i * tilesize, 0, tilesize, tilesize) self.images.append(x) self.export_image = self.images[self.index] def update(self): self.count += 1 if self.count % self.frame_tick == 0: self.export_image = self.images[self.index] self.index += 1 if self.index > (len(self.images) - 1): self.index = 0 if self.count > self.end_count: self.count = 0 return self.export_image
def __init__(self,x,y): super().__init__() sprite_sheet = SpriteSheet("duck.png") self.frames = [] image = sprite_sheet.get_image(0,0,75,75) self.frames.append(image) image = sprite_sheet.get_image(75, 0, 75, 75) self.frames.append(image) image = sprite_sheet.get_image(150, 0, 75, 75) self.frames.append(image) self.image = self.frames[0] self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.change_x = 7 self.change_y = 5
class GUI(pygame.sprite.Sprite): def __init__(self): super().__init__() self.sheet = SpriteSheet("GUI.png") self.image = self.sheet.get_image(0, 0, 196, 278) self.rect = self.image.get_rect()
def __init__(self, sprite_sheet_data): pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("resources/menu_items.png") # To be created self.image = sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3]) # x, y, height, width of menu item self.rect = self.image.get_rect()
def __init__(self, x_pos, y_pos, sheet_data, sheetname): super().__init__() items_sheet = SpriteSheet(sheetname) self.image = items_sheet.get_image(sheet_data[0], sheet_data[1], sheet_data[2], sheet_data[3]) self.rect = self.image.get_rect() self.rect.x = x_pos self.rect.y = y_pos
class HUDItem(pygame.sprite.Sprite): def __init__(self, sprite_sheet_data=None): pygame.sprite.Sprite.__init__(self) self.sprite_sheet = SpriteSheet("resources/hud_spritesheet.png") if sprite_sheet_data: self.image = self.sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3]) self.rect = self.image.get_rect()
def __init__(self, ai_settings, screen): """Initialize the ship, and set its starting position.""" super(Ship, self).__init__() self.screen = screen self.ai_settings = ai_settings #FROM Sprite sheet example arrays that store location of images self.flying_frames = [] sprite_sheet = SpriteSheet("images/SpriteSheet.png") #Load all the right facing images into a list for num_pics1 in range(6): image = sprite_sheet.get_image(0, 128, 32, 32) self.flying_frames.append(image) for num_pics2 in range(6): image = sprite_sheet.get_image(32, 128, 32, 32) self.flying_frames.append(image) for num_pics3 in range(6): image = sprite_sheet.get_image(0, 160, 32, 32) self.flying_frames.append(image) for num_pics4 in range(6): image = sprite_sheet.get_image(32, 160, 32, 32) self.flying_frames.append(image) self.image = self.flying_frames[0] # Load the ship image, and get its rect. *EDITED SELF.IMAGE* self.rect = self.image.get_rect() self.screen_rect = screen.get_rect() # Start each new ship at the bottom center of the screen. self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom # Store a decimal value for the ship's center. self.center = float(self.rect.centerx) # Movement flags. self.moving_right = False self.moving_left = False self.index = 0
def load_images(self): img_x = 0 img_y = 0 bullet_sheet = SpriteSheet("assets/fire_spritesheet.png") for i in range(2): for j in range(10): self.images.append(bullet_sheet.get_image( img_x, img_y, 16, 16)) img_x += 16 for i in range(20): self.images[i] = pygame.transform.smoothscale( self.images[i], (8, 8))
def __init__(self): # Call the parent's constructor pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("coin.png") for i in xrange(0, 5): self.images.append(sprite_sheet.get_image(i * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, constants.BLOCK_SIZE)) self.image = self.images[0] self.rect = self.image.get_rect() self.rect.x = constants.BLOCK_SIZE * (constants.BLOCK_WIDTH / 2.0 - .5)
def __init__(self, screen): self.walk_right = [] self.walk_left = [] # load right-facing images sprite_sheet = SpriteSheet("Images/mario.png") image = pygame.transform.scale(sprite_sheet.get_image(210, 52, 16, 32), (32, 64)) # stand right [0] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(240, 52, 16, 32), (32, 64)) # walk right [1] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(270, 52, 16, 32), (32, 64)) # walk right [2] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(300, 52, 16, 32), (32, 64)) # walk right [3] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(360, 52, 16, 32), (32, 64)) # jump [4] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(390, 52, 16, 27), (32, 54)) # crouch [5] self.walk_right.append(image) # load left-facing images for frame in self.walk_right: left_image = pygame.transform.flip(frame, True, False) self.walk_left.append(left_image) super().__init__(screen=screen, walk_right=self.walk_right, walk_left=self.walk_left)
def __init__(self, x,y): super().__init__() sprite_sheet = SpriteSheet("duck.png") self.frames_r = [] self.frames_l = [] image = sprite_sheet.get_image(0,0,70,70) self.frames_r.append(image) image = sprite_sheet.get_image(70, 0, 70, 70) self.frames_r.append(image) image = sprite_sheet.get_image(140, 0, 70, 70) image = pygame.transform.flip(image,True,False) self.frames_l.append(image) image = sprite_sheet.get_image(0, 0, 75, 75) image = pygame.transform.flip(image, True, False) self.frames_l.append(image) image = sprite_sheet.get_image(75, 0, 75, 75) image = pygame.transform.flip(image, True, False) self.frames_l.append(image) image = sprite_sheet.get_image(150, 0, 75, 75) self.frames_r.append(image) self.image = self.frames_r[0] self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.change_x = 10 self.change_y = 7 self.dir = "r"
def __init__(self, screen): sprite_sheet = SpriteSheet("Images/enemies.png") self.koopas_left = [] self.koopas_right = [] self.koopas_shell = [] imageRight = pygame.transform.scale( sprite_sheet.get_image(210, 0, 19, 25), (32, 32)) self.koopas_right.append(imageRight) imageRight = pygame.transform.scale( sprite_sheet.get_image(240, 0, 19, 25), (32, 32)) self.koopas_right.append(imageRight) imageLeft = pygame.transform.scale( sprite_sheet.get_image(179, 0, 19, 25), (32, 32)) self.koopas_left.append(imageLeft) imageLeft = pygame.transform.scale( sprite_sheet.get_image(149, 0, 19, 25), (32, 32)) self.koopas_left.append(imageLeft) imageShell = pygame.transform.scale( sprite_sheet.get_image(360, 0, 19, 25), (32, 32)) self.koopas_shell.append(imageShell) imageShell = pygame.transform.scale( sprite_sheet.get_image(360, 0, 19, 25), (32, 32)) self.koopas_shell.append(imageShell) super().__init__(screen=screen, walk_list_left=self.koopas_left, walk_list_right=self.koopas_right, shell_list=self.koopas_shell)
def __init__(self, screen): # list to hold all walking animations for right and left self.walk_right = [] self.walk_left = [] # load right-facing images sprite_sheet = SpriteSheet("Images/mario.png") image = pygame.transform.scale(sprite_sheet.get_image(210, 0, 15, 16), (32, 32)) # stand right [0] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(240, 0, 15, 16), (32, 32)) # walk right [1] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(270, 0, 15, 16), (32, 32)) # walk right [2] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(300, 0, 15, 16), (32, 32)) # walk right [3] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(360, 0, 15, 16), (32, 32)) # jump [4] self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(390, 16, 15, 14), (32, 32)) # dead_jump [5] self.walk_right.append(image) # load left-facing images for frame in self.walk_right: left_image = pygame.transform.flip(frame, True, False) self.walk_left.append(left_image) super().__init__(screen=screen, walk_right=self.walk_right, walk_left=self.walk_left)
def __init__(self, is_next, is_top): # Call the parent's constructor pygame.sprite.Sprite.__init__(self) self.is_next = is_next self.is_top = is_top sprite_sheet = SpriteSheet("question-sprite.png") for i in xrange(0, 6): self.images.append(sprite_sheet.get_image(i * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, constants.BLOCK_SIZE)) self.image = self.images[0] self.rect = self.image.get_rect()
def load_images(self): img_x = 0 img_y = 0 player_sheet = SpriteSheet("assets/player_spritesheet.png") player_walk = SpriteSheet("assets/player_walk.png") player_left = SpriteSheet("assets/player_left.png") player_walk_left = SpriteSheet("assets/player_walk_left.png") for i in range(10): for j in range(6): self.idle_right.append( player_sheet.get_image(img_x, img_y, 50, 37)) self.idle_left.append( player_left.get_image(img_x, img_y, 50, 37)) img_x += 50 img_x = 0 for i in range(8): for j in range(6): self.right_walk.append( player_walk.get_image(img_x, img_y, 50, 37)) self.left_walk.append( player_walk_left.get_image(img_x, img_y, 50, 37)) img_x += 50
def __init__(self, sprite_sheet_data): """ Platform constructor. Assumes constructed with user passing in an array of 5 numbers like what's defined at the top of this code. """ pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("resources/tiles_spritesheet.png") # Grab the image for this platform self.image = sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3]) self.rect = self.image.get_rect()
def __init__(self, sprite_sheet_data): """ Platform constructor. Assumes constructed with user passing in an array of 5 numbers like what's defined at the top of this code. """ pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("Images/spritetest.png", False, globalvars.BLACK) # Grab the image for this platform self.image = sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3]) self.rect = self.image.get_rect()
def __init__(self): # Call the parent's constructor pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("coin.png") for i in xrange(0, 5): self.images.append( sprite_sheet.get_image(i * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, constants.BLOCK_SIZE)) self.image = self.images[0] self.rect = self.image.get_rect() self.rect.x = constants.BLOCK_SIZE * (constants.BLOCK_WIDTH / 2.0 - .5)
def __init__(self, is_next, is_top): # Call the parent's constructor pygame.sprite.Sprite.__init__(self) self.is_next = is_next self.is_top = is_top sprite_sheet = SpriteSheet("question-sprite.png") for i in xrange(0, 6): self.images.append( sprite_sheet.get_image(i * constants.BLOCK_SIZE, 0, constants.BLOCK_SIZE, constants.BLOCK_SIZE)) self.image = self.images[0] self.rect = self.image.get_rect()
def __init__(self): """initialisation of class""" super().__init__() sprite_sheet = SpriteSheet('character.png') self.image = sprite_sheet.get_image(0, 0, 128, 128) self.image_original = self.image self.mask = pygame.mask.from_surface(self.image) self.rect = self.image.get_rect() self.rect.x = 540 - self.rect.centerx self.rect.y = 360 - self.rect.centery self.speed = 5 self.health = 100 self.max_health = 100 self.dead = False self.ghost = Animation("ghost.png", 64, 8, 3)
class Enemy(pygame.sprite.Sprite): """Enemy""" def __init__(self, sprite_sheet_data=None): """ Enemy constructor. Assumes constructed with user passing in an array of 4 numbers like what's defined at the top of this code. """ pygame.sprite.Sprite.__init__(self) self.sprite_sheet = SpriteSheet("resources/enemies_spritesheet.png") # Grab the image for this platform if sprite_sheet_data: self.image = self.sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3]) self.rect = self.image.get_rect() self.level = None
def __init__(self): """ Constructor function """ # Call the parent's constructor pygame.sprite.Sprite.__init__(self) self.title = pygame.image.load("date-sec-title.png") self.title = pygame.transform.scale(self.title, (160, 14)) sprite_sheet = SpriteSheet("numbers.png") for i in xrange(0, 11): self.digits.append(sprite_sheet.get_image(i * 16, 0, 16, 14)) self.image = pygame.Surface([160, 32], pygame.SRCALPHA, 32).convert_alpha() self.image.blit(self.title, (0, 0), (0, 0, 160, 14)) #self.image.blit(self.digits[3], (0, 16), (0, 0, 16, 14)) # Set a referance to the image rect. self.rect = self.image.get_rect() self.rect.y = 8 self.rect.x = constants.BLOCK_WIDTH * constants.BLOCK_SIZE - 176
def load_spritesheet_from_image(imagepath, w, h, frames_per, total_frames): print( f"load_spritesheet_from_image({imagepath}, {frames_per}, {total_frames})" ) assert (imagepath != "" and imagepath != None) assert (frames_per > 0 and frames_per != None) assert (total_frames > 0 and total_frames != None) assert (w > 0 and w != None) assert (h > 0 and h != None) spritesheet = SpriteSheet(imagepath) images = [] animation = [] for i in range(0, total_frames): if i % frames_per == 0 and i > 0: #print(f"appending: {animation}") images.append(animation) animation = [] x = w * i #print(f"x: {x}") image_to_append = spritesheet.get_image(x, 0, w, h).convert() #print(f"image_to_append: {image_to_append}") animation.append(image_to_append) print(f"len(images): {len(images)}") return images
def __init__(self, screen): self.walk_right = [] self.walk_left = [] # load right-facing images sprite_sheet = SpriteSheet("Images/marios.png") image = pygame.transform.scale(sprite_sheet.get_image(210, 52, 16, 32), (32, 64)) self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(240, 52, 16, 32), (32, 64)) self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(270, 52, 16, 32), (32, 64)) self.walk_right.append(image) image = pygame.transform.scale(sprite_sheet.get_image(300, 52, 16, 32), (32, 64)) self.walk_right.append(image) # jump image walk_right[-2] image = pygame.transform.scale(sprite_sheet.get_image(360, 52, 16, 32), (32, 64)) self.walk_right.append(image) # crouch image walk_right[-1] image = pygame.transform.scale(sprite_sheet.get_image(390, 52, 16, 27), (32, 54)) self.walk_right.append(image) # load left-facing images image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(210, 52, 16, 32), (32, 64)), True, False) self.walk_left.append(image) image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(240, 52, 16, 32), (32, 64)), True, False) self.walk_left.append(image) image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(270, 52, 16, 32), (32, 64)), True, False) self.walk_left.append(image) image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(300, 52, 16, 32), (32, 64)), True, False) self.walk_left.append(image) # jump image walk_left[-2] image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(360, 52, 16, 32), (32, 64)), True, False) self.walk_left.append(image) # crouch image walk_right[-1] image = pygame.transform.flip( pygame.transform.scale(sprite_sheet.get_image(390, 52, 16, 27), (32, 54)), True, False) self.walk_left.append(image) super().__init__(screen=screen, walk_right=self.walk_right, walk_left=self.walk_left)
def __init__(self): super().__init__() walk_sheet = SpriteSheet("p3_spritesheet.png") #walk 01 image = walk_sheet.get_image(0, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 02 image = walk_sheet.get_image(73, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 03 image = walk_sheet.get_image(146, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 04 image = walk_sheet.get_image(0, 98, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 05 image = walk_sheet.get_image(73, 98, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 06 image = walk_sheet.get_image(146, 98, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 07 image = walk_sheet.get_image(219, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 08 image = walk_sheet.get_image(292, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 09 image = walk_sheet.get_image(219, 98, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 10 image = walk_sheet.get_image(365, 0, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #walk 11 image = walk_sheet.get_image(292, 98, 72, 97) self.walking_frames_r.append(image) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) #init start self.image = self.walking_frames_r[0] self.rect = self.image.get_rect()
def __init__(self): """ Constructor function """ # Call the parent's constructor pygame.sprite.Sprite.__init__(self) sprite_sheet = SpriteSheet("resources/p1_walk.png") # Load all the right facing images into a list image = sprite_sheet.get_image(0, 0, 66, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(66, 0, 66, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(132, 0, 67, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(0, 93, 66, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(66, 93, 66, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(132, 93, 72, 90) self.walking_frames_r.append(image) image = sprite_sheet.get_image(0, 186, 70, 90) self.walking_frames_r.append(image) # Load all the right facing images, then flip them # to face left. image = sprite_sheet.get_image(0, 0, 66, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(66, 0, 66, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(132, 0, 67, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(0, 93, 66, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(66, 93, 66, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(132, 93, 72, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) image = sprite_sheet.get_image(0, 186, 70, 90) image = pygame.transform.flip(image, True, False) self.walking_frames_l.append(image) # Set the image the player starts with self.image = self.walking_frames_r[0] # Set a referance to the image rect. self.rect = self.image.get_rect() self.health = 100 self.invincible = False self.score = 0
def __init__(self, x, y): """ Constructor function """ # Call the parent's constructor super().__init__() self.health = 10 self.direction = "R" self.win = pygame.image.load("Assets/Pictures/bowser_win.png").convert_alpha() # get images for right idle for number in range(0, 7): bowser_r_idle_sheet = SpriteSheet('Assets/Pictures/bowser_idle_r.png') image = bowser_r_idle_sheet.get_image(number * self.idle_width, 0, self.idle_width, self.idle_length) self.idle_frames_r.append(image) self.idle_frames_l.append(pygame.transform.flip(image, True, False)) # get images for right/left walking for row in range(0, 3): for column in range(0, 6): bowser_r_walking_sheet = SpriteSheet('Assets/Pictures/bowser_walking_r.png') if row != 2: image = bowser_r_walking_sheet.get_image( column * self.walking_width, row * self.walking_length, self.walking_width, self.walking_length ) self.walking_frames_r.append(image) self.walking_frames_l.append(pygame.transform.flip(image, True, False)) else: if column < 4: image = bowser_r_walking_sheet.get_image( column * self.walking_width, row * self.walking_length, self.walking_width, self.walking_length ) self.walking_frames_r.append(image) self.walking_frames_l.append(pygame.transform.flip(image, True, False)) # get images for right/left facing punching for row in range(0, 5): for column in range(0, 6): bowser_r_punching_sheet = SpriteSheet('Assets/Pictures/bowser_punching_r.png') if row != 4: image = bowser_r_punching_sheet.get_image( column * self.punching_width, row * self.punching_length, self.punching_width, self.punching_length ) self.punching_frames_r.append(image) self.punching_frames_l.append(pygame.transform.flip(image, True, False)) else: if column < 4: image = bowser_r_punching_sheet.get_image( column * self.punching_width, row * self.punching_length, self.punching_width, self.punching_length ) self.punching_frames_r.append(image) self.punching_frames_l.append(pygame.transform.flip(image, True, False)) # get images for right/left facing dying for row in range(0, 3): for column in range(0, 6): bowser_r_dying_sheet = SpriteSheet('Assets/Pictures/bowser_death_r.png') if row != 2: image = bowser_r_dying_sheet.get_image( column * self.death_width, row * self.death_length, self.death_width, self.death_length ) self.dying_frames_r.append(image) self.dying_frames_l.append(pygame.transform.flip(image, True, False)) else: if column < 1: image = bowser_r_dying_sheet.get_image( column * self.death_width, row * self.death_length, self.death_width, self.death_length ) self.dying_frames_r.append(image) self.dying_frames_l.append(pygame.transform.flip(image, True, False)) # Set the image the player starts with self.image = self.idle_frames_r[0] # Set a referance to the image rect. self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.rect.width -= 15 self.rect.height -= 10 print(self.rect)