Ejemplo n.º 1
0
 def iniciar(self):
     log.info("iniciar")
     #
     self.sistema = Sistema.obtener_instancia()
     #
     self.directorio_cache = os.path.join(
         self.sistema.directorio_general_cache, Terreno.DirectorioCache)
     if not os.path.exists(self.directorio_cache):
         log.warning("se crea directorio_cache: %s" % self.directorio_cache)
         os.mkdir(self.directorio_cache)
     #
     self._establecer_shader()
     #
     self.dibujar_normales = config.valbool("terreno.dibujar_normales")
Ejemplo n.º 2
0
 def iniciar(self, parent_node_path, bullet_world, partes=list()):
     log.info("iniciar")
     # sistema
     self.sistema = Sistema.obtener_instancia()
     # recursos
     ruta_dir = os.path.join(os.getcwd(), self.directorio_recursos,
                             self.clase)
     if not os.path.exists(ruta_dir):
         raise Exception("no existe el directorio '%s'" % (ruta_dir))
     archivos = [
         archivo for archivo in os.listdir(ruta_dir)
         if archivo[-4:].lower() == ".egg" or archivo[-4:].lower() == ".bam"
     ]
     archivo_actor = ""
     dict_animaciones = dict()
     for archivo in archivos:
         if archivo[:-4] == "actor":
             archivo_actor = archivo
         else:
             dict_animaciones[archivo[:-4]] = Filename.fromOsSpecific(
                 os.path.join(ruta_dir, archivo))
     if archivo_actor == "":
         raise Exception(
             "no se encontró ningún archivo de actor (actor.[egg|bam]) en '%s'"
             % ruta_dir)
     # cuerpo
     self.bullet_world = bullet_world
     rb = self._generar_cuerpo_fisica()
     self.bullet_world.attach(rb)
     self.cuerpo = parent_node_path.attachNewNode(rb)
     self.cuerpo.setCollideMask(BitMask32.bit(2))
     # actor
     self.actor = Actor(
         Filename.fromOsSpecific(os.path.join(ruta_dir, archivo_actor)),
         dict_animaciones)
     self.actor.reparentTo(self.cuerpo)
     self.actor.setZ(-self._ajuste_altura)
     # partes
     for parte in partes:
         self.actor.makeSubpart(parte[0], parte[1], parte[2])
         self._partes_actor.append(parte[0])
     # shader
     GestorShader.aplicar(self.actor, GestorShader.ClasePersonaje, 2)