Pantallazos del Flash
Hola a todos,
Estoy haciendo una web en flash y para que no fuera un fichero enorme decidí montarla a partir de un swf principal que iba llamando a otros swf, todos ellos con el mismo fondo. Hasta aquí sin problemas, pero me pasa que cuando la visualizo en el navegador y hago click en los botones aparece un pantallazo antes de cada swf y no entiendo porqué.
Además en el flash player no pasa, y en el navegador es bastante aleatorio, a veces si, a veces no y los he hecho todos con la misma base.
También he comprobado que el pantallazo es solo en la ventana de flash osea que parece algo del swf... no del navegador.
Si alguien puede echarme una mano, estaría muy agradecido, ando ya un poco desesperado....
Gracias
mortadelo
HOla,
entre tu clara explicación y el tutorial creo que lo conseguiré. Ahora mismo me pongo en marcha, lo malo que ya tenía todo hechoooo y va a ser entretenido...
mil gracias
tpmmds
Hola:
Para hacer una biblioteca compartida lo primero es decidir qué swf va a ser el que va a llevar las imágenes (o la imagen, en tu caso). Este swf debe cargarse antes que el resto, ya que una vez que esté en la caché del explorador web, el resto de swf buscan las imágenes en él y no tienen que descargarlas de nuevo.
Si este swf lo llamas, por ejemplo, BibliotecaCompartida.swf cuando lo estés creando en Flash ve a la biblioteca, elige cada imagen con el botón derecho/Propiedades y activa la casilla "Exportar para compartir en tiempo de ejecución" y MUY IMPORTANTE, en el campo URL debes poner la ruta exacta donde vas a publicar dicho swf. Por ejemplo http://www.miWeb/swf/BibliotecaCompartida.swf
Hay que darle la ruta para que el resto de swf's sepan "dónde buscar" las imágenes.
Hecho esto, abre el Fla de uno de los archivos swf que vas a cargar, por ejemplo PelículaCargada.swf, y en la biblioteca, elige en el comboBox con todas las bibliotecas abiertas, la de "BibliotecaCompartida" y arrastra al escenario la anterior imagen a la que activaste la opción de compartir en tiempo de ejecución. Verás que en la ventana de Propiedades de esta imagen automáticamente se ha marcado la opción "Importar para compartir en tiempo de ejecución" y aparece en el campo URL la anterior ruta que diste (es que Flash es muy inteligente ;-) ).
Repite el proceso anterior para todos los swf/imágenes que vayas a utilizar y listo.
Veras que sólo el primer swf es el "pesado" (BibliotecaCompartida.swf) ya que los otros cargarán la imagen de éste.
Por cierto, como estás dando una ruta web, al publicar te aparecerá un mensaje de ruta no encontrada, o algo así, pero no hay mayor problema, los archivos swf te funciorán perfectamente (si tienes Apache instalado, o algún otro servidor web, publica con él y no aparecerá el mensaje)
Un saludo, y no sé si me he explicado muy bien. De todas formas creo recordar que en la página de tutoriales de Adobe, en el apartado Flash había un tutorial de bibliotecas compartidas, con el archivo Fla y todo, que lo aclaraba bastante.
P.D.: Si utilizas fuentes embebidas, también es recomendable incorporarlas de esta forma a la biblioteca compartida, esto suele reducir bastante el tiempo de descarga si todos los swf utilizan la misma fuente.
mortadelo
gracias tpmmds, a ver si me explico mejor:
Está claro que es el fondo del flash, porque lo he cambiado a negro y sigue pasando pero en negro. La imagen que es común a todos tiene botones que han de estar activos en todo momento porque lo que varía únicamente es un cuadrado del centro.
Entonces, como se hace eso de una biblioteca compartida?
y sí que tengo las imagenes en la biblioteca y las instacio desde allí
Gracias, perdón por mi ignorancia
tpmmds
Hola:
Por lo que dices, se podría deducir que el pantallazo blanco es el fondo del swf antes de haber cargado la imagen que has colocado en él. Si tienes varios swf que vas cargando, y quieres que sólo se cargue una vez una imagen para todos puedes utilizar una biblioteca compartida.
Si cada swf lleva su propia imagen de fondo, aunque sea la misma, se tiene que cargar para cada uno de ellos.
Si no quieres que se vea el fondo blanco del swf, haz un preload del swf donde esté la biblioteca compartida antes de cargar los swf's que llevan la imagen de fondo.
Un saludo.
P.D.1:Por los pocos datos que das, imagino que puede ser esto, pero quién sabe...
P.D.2: Imagino que la imagenes las tienes en la biblioteca y las instancias desde alli.