def obtener_imagen(self, indice): """ Obtiene una imagen de la cache. De no encontrarse, devuelve una imagen estandar. """ try: return self._imagenes[indice] except: return imagenes.cargar("sin_imagen.png")
def __init__(self, imagen="sin_imagen.png", x=0, y=0): if isinstance(imagen, str): self.imagen = imagenes.cargar(imagen) else: self.imagen = imagen self.x = x self.y = y BaseActor.__init__(self)
def __init__(self, imagen="sin_imagen.png", x=0, y=0): # Si la imagen es una cadena, cargamos la imagen y la cacheamos. if isinstance(imagen, str): self.indice_imagen = pilas.mundo.motor.libreria_imagenes.agregar_imagen(imagenes.cargar(imagen)) else: # Si en un objeto Imagen lo almacenamos directamente. self.indice_imagen = pilas.mundo.motor.libreria_imagenes.agregar_imagen(imagen) self.x = x self.y = y BaseActor.__init__(self)
def set_imagen(self, imagen): """ Establece la imagen del actor. :param imagen: Imagen que definirá al actor. :type imagen: Imagen, Grilla, """ # Comprobamos si el parametro imagen es un objeto Imagen o Grilla. if isinstance(imagen, Imagen) or isinstance(imagen, Grilla): # Comprobamos si ya está cacheada esa imagen. if pilas.mundo.motor.libreria_imagenes.tiene(imagen.ruta_original): # Si es así nos guardamos el indice de la imagen en la caché, que corresponde # con la ruta de la imagen. self.indice_imagen = imagen.ruta_original else: # Si la imagen no estaba cacheada la guardamos. self.indice_imagen = pilas.mundo.motor.libreria_imagenes.agregar_imagen(imagen) else: # Si el parámetro imagen es un string. if isinstance(imagen, str): if pilas.mundo.motor.libreria_imagenes.tiene(imagen): self.indice_imagen = imagen else: self.indice_imagen = pilas.mundo.motor.libreria_imagenes.agregar_imagen(imagenes.cargar(imagen)) else: raise Exception("Lo siento, solo se admiten rutas a archivos o imagenes.")