class Resources: """ Administra los paths de los recursos que serán necesarios para un videojuego. """ def __init__(self): self.__loader = Loader() def __str__(self): return f'Resources: {self.__loader.path}' def append_path(self, path:str, directory = ''): """ Agrega un nuevo path a los recursos registrados. Args: path (str): Path donde se ecunetran los recursos, este campo puede ser la ruta absoluta a los recursos. directory (str, optional): Es el nombre del directorio que contiene a los recursos. Defaults to ''. """ if path and path.strip() != '': self.__loader.path.append(f'{path}/{directory}' if directory and directory.strip() != '' else path) self.__loader.reindex() def append_sprites_path(self, path = '', directory = ''): """ Agrega un nuevo path que debe contener sprites para un videojuego. El path default estará dado por el directorio home del proyecto. Args: path (str, optional): Path donde se encuentran los sprites. Defaults to ''. directory (str, optional): directorio donde se encuentran los sprites. Defaults to ''. """ self.append_path(path if path and path.strip() != '' else levbopaths.SPRITES_RESOURCE, directory) def get_image(self, file_name): """ [summary] Args: file_name ([type]): [description] """ return self.__loader.image(file_name)
"fire_0.png", "fire_none.png", ] fire_image = [ "fire_3.png", "fire_4.png", "fire_6.png", "fire_7.png", "fire_8.png", ] effects = [] loader = Loader() loader.path = resources_paths loader.reindex() def create_effect(image_frames, duration=1.0, loop=False): frames = [] for img in image_frames: image = loader.image(img) frames.append(AnimationFrame(image, duration)) if loop is False: frames[len(image_frames) - 1].duration = None return Animation(frames=frames) def create_effect_animation(self, image_name, columns, rows): effect_seq = pyglet.image.ImageGrid(pyglet.image.load(image_name), rows, columns)