def __init__(self):
        """
        Initializes the background

        Variables:

            sprite_sheet: The spritesheet to where the custom spries came from
            image: Holds the custom
            self.image: The sprite used to represent
            self.rect: This creates the shape of the sprite
            self.rect.x: The x-position of the sprite
            self.rect.y: The y-position of the sprite

        """

        super().__init__()

        pygame.sprite.Sprite.__init__(self)

        self.sprite_sheet = SpriteSheet("backTitle.png")

        image = self.sprite_sheet.get_image(0, 0, 1000, 700)

        self.image = image

        self.rect = self.image.get_rect()

        self.rect.x = 0
        self.rect.y = 0
Exemple #2
0
    def __init__(self, direction):
        # Call the parent class (Sprite) constructor
        super().__init__()
        
        self.bullet_frames = []
        
        ##Load animations
        # walking
        sprite_sheet = SpriteSheet("animations/bullet.png")
        sizeX = 172
        sizeY = 28
        n = 5
        for i in range(n):
            image = sprite_sheet.get_image(i*sizeX/n, 0, sizeX/n, sizeY)
            if direction == 0:
                image = pygame.transform.flip(image, True, False)
            self.bullet_frames.append(image)
 
        # Set the image the player starts with
        self.image = self.bullet_frames[0]
 
        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
        
        self.direction = direction
        
        # Play Sounds
        pygame.mixer.Channel(0).play(pygame.mixer.Sound('sounds/laser.wav'))
Exemple #3
0
    def __init__(
        self,
        UAV,
        prop_dia=10,
        prop_pitch=4.5,
        thrust_unit='N',
    ):
        super(Propeller, self).__init__()
        self.dia = prop_dia  # in.
        self.pitch = prop_pitch  # in.
        self.thrust_unit = thrust_unit
        self.speed = 0  # RPM
        self.thrust = 0
        self.max_speed = 25000  # RPM

        self.uav = UAV

        self.rotating_frames = []
        sprite_sheet = SpriteSheet("propeller1.png")
        for frame_nb in range(7):
            frame = sprite_sheet.get_image(1, frame_nb * 49, 235, 49)
            frame = pygame.transform.scale(frame, (234 // 4, 49 // 4))
            self.rotating_frames.append(frame)
        # Set the image the propeller starts with
        self.image = self.rotating_frames[0]
        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
        self.last_frame = {'prop_angle': 0, 'time': time.time()}
Exemple #4
0
    def __init__(self, x, y):
        """ In order to make a coin, you need to have a constructor. """

        # Call upon the sprite's constructor.
        super().__init__()

        # Need to have the frame(s) for the coin.
        self.f_coin = []

        # Need to check if things collide (use sprites!)
        self.mask = None

        sprite_sheet = SpriteSheet(os.path.join("assets", "sprites.png"))
        lookup_table = [(0, 1)]
        for value in lookup_table:
            pixel_x, pixel_y = SPRITEHELPER.lookup(value)
            image = sprite_sheet.get_image(pixel_x, pixel_y, \
                c.SPRITEWIDTH, c.SPRITEHEIGHT, c.CHROMA)
            self.f_coin.append(pygame.transform.scale(image, \
                (c.SPRITEWIDTH * c.SCALING, c.SPRITEHEIGHT * c.SCALING)))

        self.image = self.f_coin[0]
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.mask = pygame.mask.from_surface(self.image)
Exemple #5
0
 def __init__(self):
     super().__init__()
     #Motion variables
     self.change_x = 0
     self.change_y = 0
     self.boundary_top = 0
     self.boundary_bottom = 0
     self.boundary_left = 0
     self.boundary_right = 0
     #Level information
     self.level = None
     self.player = None
     #How fast this sprite attacks, in number of frames. 5 = every 5 frames
     self.attack_speed = 10
     #How many times updated has been called. reset to zero when it = attack speed
     self.updates = 0
     self.firing = False
     self.fired_ticks = 0
     sheet = SpriteSheet("enemy_sheet.png")
     self.frames_l = []
     self.frames_r = []
     image = sheet.get_image(0, 48, 64, 132)
     self.frames_l.append(image)
     image = sheet.get_image(68, 48, 64, 132)
     self.frames_l.append(image)
     image = pygame.transform.flip(self.frames_l[0], True, False)
     self.frames_r.append(image)
     image = pygame.transform.flip(self.frames_l[1], True, False)
     self.frames_r.append(image)
     self.direction = 'L'
     if self.direction == 'R':
         self.image = self.frames_r[0]
     if self.direction == 'L':
         self.image = self.frames_l[0]
     self.rect = self.image.get_rect()
Exemple #6
0
    def __init__(self, x, y):
        """
        Initializes the image at the given location.
        
        Args:
            x (int): the x coordinate to place the Sprite.
            y (int): the y coordinate to place the Sprite.
        """
        pygame.sprite.Sprite.__init__(self)

        #Get the ghost images from the Sprites folder
        script_dir = sys.path[0]
        image_directory = os.path.join(script_dir, 'Sprites/ghost2.bmp')
        
        # Get the 2 images for the sprite sheet. 
        sprite_sheet = SpriteSheet(image_directory)
        image = sprite_sheet.get_image(0, 0, 62, 75)
        self.__movement_frames.append(image)
        image = sprite_sheet.get_image(64 , 0, 62, 75)
        self.__movement_frames.append(image)
        
        
        # set the Player to the first sprite
        self.image = self.__movement_frames[self.__current_frame_reference]
        
        self.rect = self.image.get_rect()
        
        # Setting the location of rectangle
        self.rect.x = x
        self.rect.y = y
Exemple #7
0
    def __init__(self):
        super().__init__()

        sprite_sheet = SpriteSheet("platform_sheet.png")
        # Grab the image for this platform
        self.image = sprite_sheet.get_image(156, 15, 40, 40)
        self.rect = self.image.get_rect()
Exemple #8
0
    def __init__(self):

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("chicken.png")

        self.vida = 1000

        # Cargamos la imagen de la gallina mirando a la izquierda
        image = self.walking_frames_r.append(pygame.image.load('uno.png'))
        image = self.walking_frames_r.append(pygame.image.load('dos.png'))
        image = self.walking_frames_r.append(pygame.image.load('tres.png'))

        # Cargamos las imagenes de la gallina mirando a la derecha
        image = sprite_sheet.get_image(0, 47, 50, 20)
        image = pygame.transform.flip(image, True, False)
        image = self.walking_frames_l.append(pygame.image.load('cuatro.png'))
        image = self.walking_frames_l.append(pygame.image.load('cinco.png'))
        image = self.walking_frames_l.append(pygame.image.load('seis.png'))

        # La gallina inicia mirando a la derecha
        self.image = self.walking_frames_l[0]

        # Obtenemos una refecian del rectangulo que cubre a la imagen
        self.rect = self.image.get_rect()
Exemple #9
0
 def load_sprite(self):    
     # Load sword sprite
     sprite_sheet = SpriteSheet("resources/attacks/Sword_Update1.png")
     image = sprite_sheet.get_image(0, 0, 103, 32)
     self.sword_frame_r.append(image)
     image = pygame.transform.flip(image, True, False)
     self.sword_frame_l.append(image)
class Platform(pygame.sprite.Sprite):
    """
    Class for basic platforms. Uses sprite_sheet.get
    to get the appropriate sprite according to defined values above
    """
    def __init__(self, sprite_sheet_data, x, y):
        super(Platform, self).__init__()

        self.sprite_sheet = SpriteSheet(path.join(img_dir, "tiles_spritesheet.png"))
        self.image = self.sprite_sheet.get_image(sprite_sheet_data[0],
                                                 sprite_sheet_data[1],
                                                 sprite_sheet_data[2],
                                                 sprite_sheet_data[3])

        self.sprite_sheet_data = sprite_sheet_data

        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.x_pos = x
        self.y_pos = y

    def collide(self):
        pass

    def update(self, dt):
        pass

    def set_image(self, block):
        self.image = self.sprite_sheet.get_image(block[0],
                                                 block[1],
                                                 block[2],
                                                 block[3])
Exemple #11
0
    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. """
        super().__init__()

        #sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        sprite_sheet = SpriteSheet( \
                "images/green-hill-zone/level-fragments/27190.png")

        self.x0 = sprite_sheet_data[0];
        self.y0 = sprite_sheet_data[1];
        self.x1 = sprite_sheet_data[2];
        self.y1 = sprite_sheet_data[3];

        self.image = sprite_sheet.get_image(self.x0, \
                self.y0, self.x1-self.x0, self.y1-self.y0)

        if (len(sprite_sheet_data) > 4):
            a = sprite_sheet_data[4]
            b = sprite_sheet_data[5]
            self.image = pygame.transform.scale(self.image, (a,b))
        
        colorkey = self.image.get_at((0,0))
        self.image.set_colorkey(colorkey)

        self.rect = self.image.get_rect()
Exemple #12
0
class Enemy(pygame.sprite.Sprite):
    def __init__(self, player, level):
        super().__init__()
        self.player = player
        self.level = level
        self.direction = None
        self.status = constants.ENEMY_INIT
        self.change_status_time = 0

        self.collisionManager = CollisionManager(self)

        # Grab the images for the snake
        self.sprite_sheet0 = None
        self.sprite_sheet1 = None

        # Egg images
        self.sprite_sheet1 = SpriteSheet("Assets/Egg.png")
        self.egg_images = [
            self.sprite_sheet1.get_image(0, 0, 58, 58),
            self.sprite_sheet1.get_image(58, 0, 116, 58)
        ]

        self.image = None
        self.rect = None

        self.change_x = 0
        self.change_y = 0

    def update(self):
        self.collisionManager.fixed_objects(self.level.walls_list)
        self.collisionManager.fixed_objects(self.level.door_list)
        self.collisionManager.fixed_objects(self.level.artifact_list)
        self.collisionManager.fixed_objects(self.level.water_list)
        self.collisionManager.fixed_objects(self.level.block_list)
        self.collisionManager.fixed_objects(self.level.chest_list)

    def set_egg(self):
        """ Called when the player shots the enemy. """
        self.image = self.egg_images[0]
        self.status = constants.ENEMY_EGG
        self.change_status_time = pygame.time.get_ticks()
        pygame.time.set_timer(constants.BROKE_EGG, constants.EGG_TIME)

    def broke_egg(self):
        """ Called when broke egg event is throwed. """
        self.image = self.egg_images[1]
        self.status = constants.ENEMY_BREAKING_EGG
        self.change_status_time = pygame.time.get_ticks()
        pygame.time.set_timer(constants.BROKE_EGG, 0)
        pygame.time.set_timer(constants.REMOVE_EGG, constants.EGG_TIME)

    def remove_egg(self):
        """ Called when remove egg event is throwed. """
        self.image = self.egg_images[1]
        self.status = constants.ENEMY_INIT
        self.change_status_time = 0
        pygame.time.set_timer(constants.REMOVE_EGG, 0)

    def get_status(self):
        return self.status
Exemple #13
0
    def __init__(self, name, patrol_zone, sprite_img_path = "img/husband.png"):
        super(Husband, self).__init__()

       # Attributes
        self.name = name
        self._change_x = -1
        self._change_y = 0
        self._x0 = patrol_zone[1]
        self._y0 = 0
        self._direction = "L"
        self._sprite_frame_frequency = 4
        self._walking_frames_l = []
        self._walking_frames_r = []
        self._patrol_zone = []
        self._enabled = True
        self._patrol_zone = patrol_zone

        sprite_sheet = SpriteSheet(sprite_img_path)

        for i in range(9):
            image = sprite_sheet.get_image(i * self._PL_WIDTH, 3 * self._PL_HEIGHT, self._PL_WIDTH, self._PL_HEIGHT-self._PL_MARGIN)
            self._walking_frames_r.append(image)

        for i in range(9):
            image = sprite_sheet.get_image(i * self._PL_WIDTH, self._PL_HEIGHT, self._PL_WIDTH, self._PL_HEIGHT-self._PL_MARGIN)
            self._walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self._walking_frames_l[0]

        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
Exemple #14
0
 def __init__(self, sprite_sheet_data, x, y, player, open_image):
     super(Door, self).__init__(sprite_sheet_data, x, y, player)
     self.open = False
     self.closed_image = self.image
     sprite_sheet = SpriteSheet("img/things_spritesheet2.png")
     self.open_image = sprite_sheet.get_image(*open_image)
     self.last_change = time.time()
    def __init__(self):
        super(WallSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/walls.png')#3 x 4
        horiz = [0, 32, 64]
        vert= [0, 32, 64, 96]
        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
Exemple #16
0
    def __init__(self, file_name):
        ''' (1) charge le fichier TMX
            (2) charge le fichier image ou se trouvent les sprites dans l'objet sheet
        '''

        self.carte    = None                 # json data from file
        self.sheet    = None                 # SpriteSheet object
        self.spritesize = 0                  # sprite size in pixels (assume its a square)
        self.rowsize,self.colsize = None,None# number of sprites in a row , column

        dirname = os.path.dirname(os.path.abspath(__file__))

        with open(dirname + "/" + file_name, 'r') as f:
            self.carte = json.load(f)

        assert self.carte["tilewidth"]==self.carte["tileheight"], "les sprites doivent etre carres"

        self.spritesize               = self.carte["tilewidth"]
        self.rowsize , self.colsize   = self.carte["width"],self.carte["height"]

        try:
            sheet_filename  = dirname + "/" + self.carte["tilesets"][0]["image"]
            self.sheet      = SpriteSheet(sheet_filename,self.spritesize)
        except pygame.error:
            try:
                sheet_filename  = dirname + "/Cartes/" + self.carte["tilesets"][0]["image"]
                self.sheet      = SpriteSheet(sheet_filename,self.spritesize)
            except pygame.error as e2:
                print ("Error - impossible de trouver le fichier images des sprites -")
                raise e2
Exemple #17
0
    def __init__(self, player):
        """ Create level 1. """

        # Call the parent constructor
        Level.__init__(self, player)

        sprite_sheet = SpriteSheet("backgrounds.png")
        self.background = sprite_sheet.get_image(0, 63, 231, 63)
        self.background = pygame.transform.scale(self.background, (constants.SCREEN_WIDTH,
                                                                 constants.SCREEN_HEIGHT))
        self.background.set_colorkey(constants.WHITE)
        self.level_limit = -2500

        # Array with type of platform, and x, y location of the platform.
        level = [ [platforms.STONE_WALL, 30, 650]
                  ]

        

        # Go through the array above and add platforms
        for platform in level:
            block = platforms.Platform(platform[0])
            block.rect.x = platform[1]
            block.rect.y = platform[2]
            block.player = self.player
            self.platform_list.add(block)
Exemple #18
0
    def __init__(self, player, level):
        super().__init__()
        self.player = player
        self.level = level
        self.direction = None
        self.status = constants.ENEMY_INIT
        self.change_status_time = 0

        self.collisionManager = CollisionManager(self)

        # Grab the images for the snake
        self.sprite_sheet0 = None
        self.sprite_sheet1 = None

        # Egg images
        self.sprite_sheet1 = SpriteSheet("Assets/Egg.png")
        self.egg_images = [
            self.sprite_sheet1.get_image(0, 0, 58, 58),
            self.sprite_sheet1.get_image(58, 0, 116, 58)
        ]

        self.image = None
        self.rect = None

        self.change_x = 0
        self.change_y = 0
    def __init__(self, location, speed, direction=pg.K_RIGHT):
        """
        The location is an (x,y) coordinate pair, and speed is the player's
        speed in pixels per frame. Speed should be an integer.
        """
        tools._Physics.__init__(self)
        pg.sprite.Sprite.__init__(self)
        self.sheet = SpriteSheet("spritesheet.png")
        self.image = self.sheet.get_image(441, 2, 17, 21)
        self.image.set_colorkey(c.SPRITESHEET_BACKGROUND)
        self.rect = self.image.get_rect()
        self.direction = direction
        self.speed = speed
        self.jump_power = -9.0
        self.jump_cut_magnitude = -3.0
        self.on_moving = False
        self.collide_below = False

        self.old_direction = None
        self.direction_stack = []
        self.redraw = False
        self.frame = 0
        self.frames = self.get_frames()
        self.animate_timer = 0.0
        self.animate_fps = 7.0
        self.walkframes = []
        self.walkframe_dict = self.make_frame_dict()
        self.adjust_images()
Exemple #20
0
    def __init__(self):
        #constructor function
        super(Player, self).__init__()

        # attributes
        # set vector speed
        self.change_x = 0
        self.change_y = 0

        # this holds all the animated images for walking left/right
        self.walking_frames_l = []
        self.walking_frames_r = []

        # What direction is the player facing?
        self.direction = "R"

        # list of sprites we can bump up against
        self.level = None

        sprite_sheet = SpriteSheet('birdpersonFlip.png')
        # Load all the right facing images into a list
        #image = sprite_sheet.get_image(18,750,104,148)
        #self.walking_frames_r.append(image)
        #image = sprite_sheet.get_image(276,750,102,148)
        #self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(10, 926, 110, 138)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(142, 928, 110, 134)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(268, 926, 112, 136)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(400, 926, 104, 136)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip to face left

        #image = sprite_sheet.get_image(18,750,104,148)
        #image = pygame.transform.flip(image, True, False)
        #self.walking_frames_l.append(image)
        #image = sprite_sheet.get_image(276,750,102,148)
        #image = pygame.transform.flip(image, True, False)
        #self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(10, 926, 110, 138)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(142, 928, 110, 134)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(268, 926, 112, 136)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(400, 926, 104, 136)
        image = pygame.transform.flip(image, True, False)

        # Set the image player starts with
        self.image = self.walking_frames_r[0]

        # set a reference to the image rect
        self.rect = self.image.get_rect()
    def __init__(self, pos):
        pygame.sprite.Sprite.__init__(self)

        self.mad_frames = []

        sprite_sheet = SpriteSheet("MadMe.png")

        image = pygame.transform.scale(
            sprite_sheet.get_image(0, 0, Mad_Size[0] + mad_buff, Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(Mad_Size[0], 0, Mad_Size[0] + mad_buff,
                                   Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(Mad_Size[0] * 2, 0, Mad_Size[0] + mad_buff,
                                   Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(0, Mad_Size[1], Mad_Size[0] + mad_buff,
                                   Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(Mad_Size[0], Mad_Size[1],
                                   Mad_Size[0] + mad_buff, Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(Mad_Size[0] * 2, Mad_Size[1] + mad_buff,
                                   Mad_Size[0] + mad_buff, Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(0, Mad_Size[1] * 2, Mad_Size[0] + mad_buff,
                                   Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(Mad_Size[0], Mad_Size[1] * 2,
                                   Mad_Size[0] + mad_buff, Mad_Size[1]),
            (int(Mad_Size[0] / Mad_Resize), int(Mad_Size[1] / Mad_Resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)

        self.frame = 0
        self.image = self.mad_frames[self.frame]
        self.rect = self.image.get_rect()
        self.rect.center = pos
Exemple #22
0
    def __init__(self, player):
        """ 
        walk_images is a list of sprite locations found in constants
        and sprite_sheet is the walking PNG file
        """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        self.pname = player['name']

        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        self.sprite_sheet = SpriteSheet(player['spritesheet'])
        self.frozen_sprite_sheet = SpriteSheet(player['frozen_spritesheet'])

        # This holds all the images for the animated walk left/right
        # of our player
        self.walking_frames_l = []
        self.walking_frames_r = []
        self.frozen_frames_l = []
        self.frozen_frames_r = []

        self.direction = player['direction']

        self.stunned = False
        self.stunned_direction = None
        self.stun_start = time.time()

        self.lives = 3

        # Load all the right facing images into a list
        for frame in player['walk_images']:

            image = self.sprite_sheet.get_image(frame[0], frame[1], frame[2],
                                                frame[3]).convert()
            self.walking_frames_r.append(image)

            # Flip them and load into left facing list
            image = pygame.transform.flip(image, True, False)
            self.walking_frames_l.append(image)

            # Creates the frozen sprites
            image = self.frozen_sprite_sheet.get_image(frame[0], frame[1],
                                                       frame[2],
                                                       frame[3]).convert()
            self.frozen_frames_r.append(image)

            # Flip them and load into left facing list
            image = pygame.transform.flip(image, True, False)
            self.frozen_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()
Exemple #23
0
 def stop(self):
     """ Called when the user lets off the keyboard. """
     pygame.sprite.Sprite.__init__(self)
     self.change_x = 0
     sprite_sheet = SpriteSheet("p1_walk.png")
     image = sprite_sheet.get_image(4, 4, 70, 81)
     image = pygame.transform.flip(image, True, False)
     self.walking_frames_l.append(image)
Exemple #24
0
 def __init__(self, pos):
     pygame.sprite.Sprite.__init__(self)
     
     sprite_sheet = SpriteSheet("Netflix.png")
     self.image = pygame.transform.scale((sprite_sheet.get_image(0, 0, icon_size,icon_size),(icon_size/Mad_Resize), int(icon_size/Mad_Resize)))
     self.image.set_colorkey(black)
     self.rect = self.image.get_rect()
     self.rect.center = pos
 def __init__(self, x, y):
     super().__init__()
     sprite_sheet = SpriteSheet("world_spritesheet.png")
     # Вырезаем изображение из спрайтшита
     self.image = sprite_sheet.get_image(0, 0, 40, 40)
     self.rect = self.image.get_rect()
     self.rect.y = y
     self.rect.x = x
    def __init__(self):
        super(DoorSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/doors.png')#4 x 1
        horiz = [0, 32, 64, 96]
        vert= [0]

        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
    def __init__(self):
        super(FloorSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/floors.png')#7x6
        horiz = [0, 32, 64, 96, 128, 160, 192]
        vert= [0, 32, 64, 96, 128, 160]

        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
Exemple #28
0
    def __init__(self, pos):
        pygame.sprite.Sprite.__init__(self)
        self.char_frames = []
        sprite_sheet = SpriteSheet(".png")  # change to given spritesheet

        image = pygame.transform.scale(
            sprite_sheet.get_image(0, 0, char_size[0] + char_buff,
                                   char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(char_size[0], 0, char_size[0] + char_buff,
                                   char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(char_size[0] * 2, 0,
                                   char_size[0] + char_buff, char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(0, char_size[1], char_size[0] + char_buff,
                                   char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(char_size[0], char_size[1],
                                   char_size[0] + char_buff, char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(char_size[0] * 2, char_size[1] + char_buff,
                                   char_size[0] + char_buff, char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(0, char_size[1] * 2,
                                   char_size[0] + char_buff, char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)
        image = pygame.transform.scale(
            sprite_sheet.get_image(char_size[0], char_size[1] * 2,
                                   char_size[0] + char_buff, char_size[1]),
            (int(char_size[0] / char_resize), int(char_size[1] / char_resize)))
        image.set_colorkey(black)
        self.mad_frames.append(image)

        self.frame = 0
        self.image = self.char_frames[self.frame]
        self.rect = self.image.get_rect()
        self.rect.center = pos
Exemple #29
0
    def __init__(self, xy, speed=1):
        """ Constructing an enemy! """

        # Using the parent (sprite) constructor.

        super().__init__()

        self.change_x = 0
        self.change_y = 0
        self.speed = speed
        self.direction = "WF"

        # We have 3 sets of animations: walking forward, walking back, dabbing front.
        self.f_walking_front = []
        self.f_walking_back = []
        self.f_dab_front = []

        # Need to check if things collide (use sprites!)
        self.mask = None

        sprite_sheet = SpriteSheet(os.path.join("assets", "sprites.png"))

        lookup_table = [(0, 0), (1, 0), (0, 0), (2, 0)]

        for value in lookup_table:
            pixel_x, pixel_y = SPRITEHELPER.lookup(value)
            image = sprite_sheet.get_image(pixel_x, pixel_y, \
                c.SPRITEWIDTH, c.SPRITEHEIGHT, c.CHROMA)
            self.f_walking_front.append(pygame.transform.scale(image, \
                (c.SPRITEWIDTH * c.SCALING, c.SPRITEHEIGHT * c.SCALING)))

        lookup_table = [(3, 0), (4, 0), (3, 0), (5, 0)]

        for value in lookup_table:
            pixel_x, pixel_y = SPRITEHELPER.lookup(value)
            image = sprite_sheet.get_image(pixel_x, pixel_y, \
                c.SPRITEWIDTH, c.SPRITEHEIGHT, c.CHROMA)
            self.f_walking_back.append(pygame.transform.scale(image, \
                (c.SPRITEWIDTH * c.SCALING, c.SPRITEHEIGHT * c.SCALING)))

        lookup_table = [(6, 0)]

        for value in lookup_table:
            pixel_x, pixel_y = SPRITEHELPER.lookup(value)
            image = sprite_sheet.get_image(pixel_x, pixel_y, \
                c.SPRITEWIDTH, c.SPRITEHEIGHT, c.CHROMA)
            self.f_dab_front.append(pygame.transform.scale(image, \
                (c.SPRITEWIDTH * c.SCALING, c.SPRITEHEIGHT * c.SCALING)))

        self.image = self.f_walking_front[0]
        self.frame = 0
        self.count = 0
        self.rect = self.image.get_rect()
        self.rect.x = xy[0]
        self.rect.y = xy[1]
        self.mask = pygame.mask.from_surface(self.image)
        self.currently_dabbing = False
Exemple #30
0
    def __init__(self, sprite_sheet_data):
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        # grab 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()
Exemple #31
0
 def __init__(self, sprite_sheet_data):
   pygame.sprite.Sprite.__init__(self)
   sprite_sheet = SpriteSheet("elevator.png")
   # grab the image for the elevator
   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()
   self.router = ElevatorData(FLOORS)
   self.path = []
   self.wait = 0
Exemple #32
0
 def __init__(self, sprite_sheet_data, x, y, player, closed_image,
              closed_image2):
     super(Wardrobe, self).__init__(sprite_sheet_data, x, y, player)
     self.hidden = False
     self.open_image = self.image
     sprite_sheet = SpriteSheet("img/things_spritesheet2.png")
     self.closed_image = sprite_sheet.get_image(*closed_image)
     self.closed_image2 = sprite_sheet.get_image(*closed_image2)
     self.last_change = time.time()
    def __init__(self, sprite_sheet_data):
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        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()
Exemple #34
0
    def __init__(self, enemy, platform_list):
        """ 
        walk_images is a list of sprite locations found in constants
        and sprite_sheet is the walking PNG file
        """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        self.platform_list = platform_list

        self.sprite_sheet = SpriteSheet(enemy['spritesheet'])

        self.walking_frames_l = []
        self.walking_frames_r = []

        self.change_x = enemy['change_x']
        self.change_y = enemy['change_y']
        self.direction = None

        # For deciding frame
        self.creation_time = time.time()

        # Time in seconds until next direction change
        self.time_direct = randint(2, 3)
        # Compared against to decide on movement
        self.timer = time.time()

        self.health = enemy['health']

        # Pick random start direction for enemy
        face = random.randint(0, 1)
        if face == 0:
            self.direction = "R"
        else:
            self.direction = "L"

        # Change walking direction
        if self.direction == "L":
            self.change_x *= -1

        # Load all the right facing images into a list
        for frame in enemy['walk_images']:

            image = self.sprite_sheet.get_image(frame[0], frame[1], frame[2],
                                                frame[3])
            self.walking_frames_r.append(image)

            # Flip them and load into left facing list
            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()
Exemple #35
0
 def __init__(self, sprite_sheet_data, x=0, y=0):
     super().__init__()
     sprite_sheet = SpriteSheet("platform_sheet.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])
     # This platform can set its own position based on passed-in args
     self.rect = self.image.get_rect()
     self.x = x
     self.y = y
Exemple #36
0
    def __init__(self):
        super().__init__()

        sprite_sheet = SpriteSheet("spritesheet.png")
        # Grab the image for this platform
        self.image = sprite_sheet.get_image(32, 128, 32, 32)

        self.imagesAndDurations = [(sprite_sheet.get_image(32, 96, 32, 32), 0.1),
                                   (sprite_sheet.get_image(63, 96, 32, 32), 0.5)]
Exemple #37
0
    def __init__(self):
        """ Constructor function """
        colorkey = constants.BLACK
        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("img/all.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image_colorkey(28, 14, 60, 80,colorkey)
        image = pygame.transform.scale(image, (100, 100))
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image_colorkey(87, 14, 60, 80,colorkey)
        image = pygame.transform.scale(image, (100, 100))
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image_colorkey(28, 110, 60, 80,colorkey)
        image = pygame.transform.scale(image, (100, 100))
        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)
        self.hidden = False
        self.hide_timer = pygame.time.get_ticks()
        # 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()
Exemple #38
0
    def __init__(self, sprite_sheet_data):
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("Levels/tiles_spritesheet.png")
        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()
Exemple #39
0
    def __init__(self):

        super().__init__()

        self.change_y = 1.5

        sprite_sheet = SpriteSheet("zombiespritesheet.png")
        self.image = sprite_sheet.get_image(0, 192, 62, 60)

        self.rect = self.image.get_rect()
Exemple #40
0
    def __init__(self, sprite_sheet_data):

        pygame.sprite.Sprite.__init__(self)
        sprite_sheet = SpriteSheet('images/Invisible_Block.png')

        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()
Exemple #41
0
    def __init__(self, sprite_sheet_data):
        super(Platform, self).__init__()

        sprite_sheet = SpriteSheet("some_tiles.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()
Exemple #42
0
    def __init__(self, sprite_sheet_data):
        super().__init__()

        sprite_sheet = SpriteSheet('Pics/Untitled.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]).convert_alpha()
        self.mask = pygame.mask.from_surface(self.image)
        self.rect = self.image.get_rect()
Exemple #43
0
    def __init__(self, length, level = 0):
        """ Create level 1. """
 
        # Call the parent constructor
        Platform.__init__(self)
        
        width  = 128 
        height = 93
        sprites_names = [
            "animations/green_tiles/platforms/",
            "animations/desert_tiles/platforms/"
            ]
        self.image = pygame.Surface([width*(2+length), height])
        sprite_sheet = SpriteSheet(sprites_names[level]+"1.png")
        image = sprite_sheet.get_image(0,0,width,height)
        #image.set_colorkey(WHITE)
        image = pygame.transform.scale(image, (width, height))
        self.image.blit(image, dest=(0,0,width, height))
        
        sprite_sheet = SpriteSheet(sprites_names[level]+"2.png")
        for i in range(length):
            image = sprite_sheet.get_image(0,0,width,height)
            #image.set_colorkey(WHITE)
            image = pygame.transform.scale(image, (width, height))
            self.image.blit(image, dest=((i+1)*width,0,width, height))
            
        sprite_sheet = SpriteSheet(sprites_names[level]+"3.png")
        image = sprite_sheet.get_image(0,0,width,height)
        #image.set_colorkey(WHITE)
        image = pygame.transform.scale(image, (width, height))
        self.image.blit(image, dest=((length+1)*width,0,width, height))
        self.image.set_colorkey(WHITE)
        self.rect = self.image.get_rect()
        
        self.can_fall_through = 0
Exemple #44
0
	def __init__(self, sprite_sheet_data):
		pygame.sprite.Sprite.__init__(self)
		
		sprite_sheet = SpriteSheet(sprite_sheet_data[0])
		# Grab the image for this platform
		self.image = sprite_sheet.get_image(sprite_sheet_data[1],
											sprite_sheet_data[2],
											sprite_sheet_data[3],
											sprite_sheet_data[4])

		self.rect = self.image.get_rect()
    def __init__(self, sprite_sheet_data):

        super(Platform, self).__init__()
        self.x_velocity = 0
        self.y_velocity = 0
        sprite_sheet = SpriteSheet(TILES_SS_PATH)
        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()
Exemple #46
0
 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/My_first_sprite_sheet.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()
Exemple #47
0
    def __init__(self, sprite_sheet_data):
        """ Hazard constructor. Assumes constructed with user passing in
            an array of 5 numbers like what's defined at the top of this
            cod. """
        pygame.sprite.Sprite.__init__(self)

        enemy_sheet = SpriteSheet("enemy1.png")
        # Grab the image for this enemy
        self.image = enemy_sheet.get_image(enemy_sheet_data[0],
                                            enemy_sheet_data[1],
                                            enemy_sheet_data[2],
                                            enemy_sheet_data[3])
        self.rect = self.image.get_rect()        
Exemple #48
0
    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. """
        super().__init__()

        sprite_sheet = SpriteSheet("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()
Exemple #49
0
 def __init__(self, cx, cy, player):
     super().__init__()
     sheet = SpriteSheet("enemy_sheet.png")
     self.image = sheet.get_image(0, 208, 48, 48)
     self.rect = self.image.get_rect()
     self.change_x = cx
     self.change_y = cy
     self.player = player
     self.player_g = pygame.sprite.Group()
     self.player_g.add(self.player)
     self.level = self.player.level
     self.rect.y = 0
     self.rect.x = 0
Exemple #50
0
    def __init__(self, sprite_sheet_data):
        """ Block 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)
 
        sprite_sheet = SpriteSheet("Resources/Sprites/spritesheet_tiles.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()
Exemple #51
0
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.walking_frames_d = [] # Images for animated walking.

        sprite_sheet = SpriteSheet("spritesheet.png")
        image = sprite_sheet.get_image(19, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(169, 0, 54, 96) # Adds up by 150 everytime
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(319, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(469, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(619, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(769, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(919, 0, 54, 96)
        self.walking_frames_d.append(image)

        self.image = self.walking_frames_d[0]
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH / 2, HEIGHT / 2)
        self.speedx = 0
        self.speedy = 0

        self.last_update = pygame.time.get_ticks()
        self.frame = 0
Exemple #52
0
 def __init__(self, x, y, floor_locations):
     """
     Initializes the player class using a passes x and y coordinate
     
     Args:
         x (int): the horizontal location of where the sprite will appear.
         y (int): the vertical location of where the sprite will appear.
         floor_locations(list): Contains the y coordinates of the different 
             floors. This reduces the amount of hard coding necessary, and 
             is used in to set the ground for the Player at different 
             floors.
         
     Note:
         This init function is very reliant on the image mario_edited.png 
             being saved in a directory name Sprites.
             
         This function is also relies on a specific the specific sprite 
             sheet mario_edited.png in order to display the correct sprite.
     """
     pygame.sprite.Sprite.__init__(self)
     
     #get the player images from the Sprites folder
     script_dir = sys.path[0]
     image_directory = os.path.join(script_dir, 'Sprites/mario_edited.bmp')
     
     # get the four images for the sprite sheet. the first 3 images are 
     # walking animations while the last is the jumping sprite
     sprite_sheet = SpriteSheet(image_directory)
     image = sprite_sheet.get_image(0, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(50, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(107, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(162  , 0, 50, 81)
     self.__movement_frames.append(image)
     
     # set the Player to the first sprite
     self.image = self.__movement_frames[self.__current_frame_reference]
     
     self.rect = self.image.get_rect()
     
     #setting the location of rectangle
     self.rect.x = x
     self.rect.y = y
     
     # Set the boundaries for the floors.
     self.__floor_boundaries = floor_locations
Exemple #53
0
class Basic_Enemy(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()

        self.change_x = 0
        self.change_y = 0
        self.frames = []

        self.level = None
        self.player = None
        self.called_times = 0
        self.sheet = SpriteSheet("platform_sheet.png")
        image = self.sheet.get_image(8, 85, 48, 48)
        self.frames.append(image)
        image = pygame.transform.flip(self.frames[0], True, False)
        self.frames.append(image)
        self.image = self.frames[0]
        self.rect = self.image.get_rect()

    def update(self):
        self.calc_grav()
        self.rect.x += self.change_x
        pos = self.rect.x + self.level.world_shift
        frame = (pos // 30) % len(self.frames)
        self.image = self.frames[frame]
        block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
        for block in block_hit_list:
            # If we are moving right,
            # set our right side to the left side of the item we hit
            if self.change_x > 0:
                self.rect.right = block.rect.left
                self.change_x = 1
            elif self.change_x < 0:
                # Otherwise if we are moving left, do the opposite.
                self.rect.left = block.rect.right
                self.change_x = -1
        self.rect.y += self.change_y
        # Check and see if we hit anything
        block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
        for block in block_hit_list:
            # Reset our position based on the top/bottom of the object.
            if self.change_y > 0:
                self.rect.bottom = block.rect.top
            elif self.change_y < 0:
                self.rect.top = block.rect.bottom
            # Stop our vertical movement
            self.change_y = 0
            if isinstance(block, platforms.MovingPlatform):
                self.rect.x += block.change_x

    def calc_grav(self):
        if self.change_y == 0:
            self.change_y = 1
        else:
            self.change_y += .35

        #see if we are on the bottom of the screen.
        if self.rect.y >= constants.SCREEN_HEIGHT - self.rect.height and self.change_y >= 0:
            self.change_y = 0
            self.rect.y = constants.SCREEN_HEIGHT - self.rect.height
Exemple #54
0
	def __init__(self, x, y, change_x, level):
		self.spritesheet = SpriteSheet("resources/graphics/enemy.bmp", (36, 50, 63))
		self.frames = []
		
		image = self.spritesheet.grab_image(0, 0, 16, 16)
		image = pygame.transform.scale2x(image)
		self.frames.append(image)
		image = self.spritesheet.grab_image(16, 0, 16, 16)
		image = pygame.transform.scale2x(image)
		self.frames.append(image)
		image = self.spritesheet.grab_image(32, 0, 16, 16)
		image = pygame.transform.scale2x(image)
		self.frames.append(image)
		
		self.index = 0
		self.MAX_FRAMES = 9
		self.image = self.frames[0]
		
		'''
		self.image = pygame.Surface([constants.TILE_WIDTH, constants.TILE_HEIGHT])
		self.image.fill(constants.RED)
		'''
		self.rect = self.image.get_rect()
		self.rect.x = x
		self.rect.y = y
		self.level = level
		self.game = self.level.game
		self.change_x = change_x
		self.change_y = 0
Exemple #55
0
    def __init__(self,location,speed,direction=pg.K_RIGHT):
        """
        The location is an (x,y) coordinate pair, and speed is the player's
        speed in pixels per frame. Speed should be an integer.
        """
        tools._Physics.__init__(self)
        pg.sprite.Sprite.__init__(self)
        self.sheet = SpriteSheet("spritesheet.png")
        self.image = self.sheet.get_image(441, 2, 17, 21)
        self.image.set_colorkey(c.SPRITESHEET_BACKGROUND)
        self.rect = self.image.get_rect()
        self.direction = direction
        self.speed = speed
        self.jump_power = -9.0
        self.jump_cut_magnitude = -3.0
        self.on_moving = False
        self.collide_below = False

        self.old_direction = None
        self.direction_stack = []
        self.redraw = False
        self.frame = 0
        self.frames = self.get_frames()
        self.animate_timer = 0.0
        self.animate_fps = 7.0
        self.walkframes = []
        self.walkframe_dict = self.make_frame_dict()
        self.adjust_images()
    def __init__(self, shooter_name, direction, ix, iy, speed, damage, range, size):
        # Call the parent class (Sprite) constructor
        super().__init__()

        self.direction = direction

        # inherited x & y velocities
        if self.direction == "U" or self.direction == "D":
            self.ix = ix
        else:
            self.ix = 0

        if self.direction == "L" or self.direction == "R":
            self.iy = iy
        else:
            self.iy = 0

        self.speed = speed
        self.damage = damage
        self.range = range

        sprite_sheet = SpriteSheet("res/img/space.png")

        if shooter_name == "Luci":
            if self.direction == "U":
                image = sprite_sheet.get_image(74, 269, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "D":
                image = sprite_sheet.get_image(168, 269, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "L":
                image = sprite_sheet.get_image(112, 277, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
            elif self.direction == "R":
                image = sprite_sheet.get_image(18, 277, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
        else:
            if self.direction == "U":
                image = sprite_sheet.get_image(75, 314, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "D":
                image = sprite_sheet.get_image(168, 320, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "L":
                image = sprite_sheet.get_image(110, 324, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
            elif self.direction == "R":
                image = sprite_sheet.get_image(20, 324, 44, 26)
                self.image = pygame.transform.scale(image, size[1])

        self.rect = self.image.get_rect()
Exemple #57
0
	def __init__(self, blockers):
		super(Player, self).__init__()
		# sprite processing, probably need to move this
		# to a separate module
		
		sprite_sheet = SpriteSheet("spritesheet.png")
		# Load all right facing images into a list
		image = sprite_sheet.get_image(441, 2, 17, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(464, 2, 16, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(648, 2, 16, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(671, 2, 16, 21)
		self.initial_r.append(image)
		
		# Load all the right facing images, then flip them
		# to face left.
		for image in self.initial_r:
			image = pg.transform.flip(image, True, False)
			self.initial_l.append(image)

		for image in self.initial_r:
			image.set_colorkey(c.SPRITESHEET_BACKGROUND)
			size = image.get_size()
			bigger_img = pg.transform.scale(image, (int(size[0]*self.factor),
														int(size[1]*self.factor)))
			self.walking_frames_r.append(bigger_img)

		for image in self.initial_l:
			image.set_colorkey(c.SPRITESHEET_BACKGROUND)
			size = image.get_size()
			bigger_img = pg.transform.scale(image, (int(size[0]*self.factor),
														int(size[1]*self.factor)))
			self.walking_frames_l.append(bigger_img)

		# set starting player image
		self.image = self.walking_frames_r[0]

		# set reference to image rect
		# spawn location:
		self.rect = self.image.get_rect(x = 200, y = 200)
		self.x_vel = 0
		self.y_vel = 0
		self.blockers = blockers