| que tal, tengo un problema estoy realizando un proyecto en el cual el cliente desea que la pagina se adapte a la pantalla del navegador segui el tutorial de Flash que se ajusta a la ventana con diagramación líquida + Stage y en Internet explorer funciona muy bien pero en firefox no funciona, agradezco la ayuda. |
|
|
¿Cómo no funciona, qué no hace, qué hace, cuál es el código que usas? |
The Fricky!
|
|
Si es posible que nos des unos screens de los problemas que presentas seria mejor |
|
|
Que tal gracias por la pronta respuesta, anexo un screen de como queda en firefox, al igual si ingresan a la siguiente direccion podran ver como queda, lo que hice fue descargar los archivos del tutorial de diagramacion liquida, abrir con dreamweaver, y agregar un ticket el cual necesito ingresar en un proyecto que estoy realizando, este es el screen. , y la direccion es. www.capitaltowers.com.co/index1.html Espero me puedan ayudar ya que me urge terminar este proyecto lo antes posible. |
|
|
Se ve así porque no redimensionas desde el inicio, cambia las dimensiones del navegador y después vuelve a maximizarlo para que veas que si funciona. Lo que debes hacer es que la función que tienes dentro de el onResize, debes ejecutarla al inicio de tu película. |
elchininet
5 Tutoriales |
|
Saludos, yo tambien tengo un problema en la diagramacion liquida, todo se ajusta bien al abrir el navegador excepto un swf externo al que llame "animaciones", la verdad no se que me estará faltando. El código es el siguiente: Código : stop();
Stage.align = "TL";
Stage.scaleMode = "noScale";
//esto se encarga de crear y llamar al swf externo en un clip vacio
this.createEmptyMovieClip("myclip", this.getNextHighestDepth());
myclip._x=0;
myclip._y=0;
myclip.loadMovie("animaciones.swf",2)
//funcion de la diagramación liquida principal
redim = new Object();
redim.onResize = redimensionar;
Stage.addListener(redim);
function redimensionar() {
barraSup._width = Stage.width;
barraInf._width = Stage.width;
barraInf._y = Stage.height - barraInf._height;
video._width = Stage.width;
video._height = Stage.height;
sombra._width = Stage.width;
sombra._height = Stage.height;
lineas._width = Stage.width;
lineas._y= (Stage.height/2)- lineas._height/2;
bg_azul._width = Stage.width;
bg_azul._y = Stage.height - bg_azul._height;
filtro._width = Stage.width;
filtro2._width = Stage.width;
reproductor1._x = Stage.width-510
powered._y = Stage.height - powered._height;
myclip._x= Stage.width -1325
myclip._y= Stage.height/2 - myclip._height/2;
};
redimensionar();
//script que se encarga de redimensionar los objetos desde el inicio
var listener:Object = new Object();
listener.onLoadInit = function(target_mc:MovieClip):Void {
redimensionar();
};
Todo se ajusta bien desde el principio, menos "myclip" el cual es un movieclip vacio que llama a "animaciones.swf" que viene siendo el contenido de mi pagina, solo se ajusta cuando le cambio el tamaño al navegador. No sé si esta sea la forma correcta de llamar al "animaciones.swf". Ademas, una vez que se acomoda "myclip" al redimensionar el navegador, al darle clic en la seccion multimedia y empezar a ver unos videos, al querer redimensionar el navegador mientras estos videos se ejecutan, la animación se pierde, es decir, "animaciones.swf" deja de aparecer y solo se escucha el audio del video. En resumen: Estoy trabajando en 2 swf, uno es "prueba_liquida.swf" en el cual se encuentra el código de la diagramación liquida antes mencionado, el cual llama a "animaciones.swf" a travéz de un movie clip vacio llamado "myclip", el cual no se ajusta a la diagramación liquida desde el principio, sino hasta que se cambia de tamaño al navegador, aunque todos los demas elementos de la pagina si lo hagan. Dentro de "animaciones.swf" llamo a un swf que consiste en ser una videogaleria, la cual al ejecutarla reproduce videos incorporados, pero al redimencionar el navegador, hace que "animaciones.swf" desaparesca de la pelicula principal (esto solo sucede si se estan ejecutando los videos). Para ver el problema denle clic aqui. Si alguien me puede aydar se lo agradezco de antemano. (perdon por ser reiterativo ejeje) |
|
| Este post tiene respuesta a tu problema. |
elchininet
5 Tutoriales |
|
Saludos, ese post, ya lo habia visto, y si observas, copie parte del script que mencionas Código : listener.onLoadInit = function(target_mc) {
redimensionar();
} y el detalle es que todos los elementos de la pagina se acomodan correctamente desde el principio, funciona, solo que en "myclip", que es el contenedor del SWF externo no. No soy habil para el action script, no a que se deba, pues en el post que mencionas recomiendas que usen onLoadInit, y yo lo estoy usando pero el problema persiste. En los demás elementos de la pagina, tales como botones, el reproductor mp3, etc, funciona muy bien desde el principio sin necesidad de modificar el tamaño del navegador. ¿Que mas debo agregarle o quitarle al código? Gracias por cualquier aporte. |
|
| Mira observé que tenías puesto un onLoadInit pero por supuesto no funciona porque no estás haciendo nada con él, vuelve al post con más calma léelo detalladamente y notarás que el swf externo se lee con MovieClipLoader que es la clase que tiene un evento onLoadInit y en tu caso lees el SWF con MovieClip.loadMovie. |
elchininet
5 Tutoriales |
|
Saludos. Sí, tienes razon, estaba llamando al swf de forma diferente y modifique mi codigo de la siguiente forma: Código : Stage.align = "TL";
Stage.scaleMode = "noScale";
//funcion de la diagramación liquida principal
redim = new Object();
redim.onResize = redimensionar;
Stage.addListener(redim);
function redimensionar() {
barraSup._width = Stage.width;
barraInf._width = Stage.width;
barraInf._y = Stage.height - barraInf._height;
video._width = Stage.width;
video._height = Stage.height;
sombra._width = Stage.width;
sombra._height = Stage.height;
lineas._width = Stage.width;
lineas._y= (Stage.height/2)- lineas._height/2;
bg_azul._width = Stage.width;
bg_azul._y = Stage.height - bg_azul._height;
filtro._width = Stage.width;
filtro2._width = Stage.width;
reproductor1._x = Stage.width-510
powered._y = Stage.height - powered._height;
myclip._x= Stage.width -1325
myclip._y= (Stage.height/2) - (myclip._height/2);
btns._x= Stage.width-547
btns._y= Stage.height - btns._height-3
kolash._x= Stage.width /180
kolash._y= Stage.height - 215
};
redimensionar();
//aqui trato de usar el onLoadInit y llamar a mi swf atravez de MovieClipLoader
this.createEmptyMovieClip("myclip", this.getNextHighestDepth());
var mclistener:Object = new Object();
mclistener.onLoadInit = function(target_mc:MovieClip):Void {
redimensionar();
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclistener);
image_mcl.loadClip("animaciones.swf", myclip);
Sin embargo, el swf externo no se acomoda de la misma forma que cuando se cambia el tamaño de la ventana, en cuanto a la posicion "y", queda como 100px abajo. Cuando redimensiono el navegador, ya se ajusta perfectamente. Tambien intenté poner " target_mc._y= (Stage.height/2) - (target_mc._height/2) " en la parte donde viene el onLoadInit, es decir, reemplazando a "redimensionar();" pero sigo con el mismo resultado. No se si estoy escribiendo en orden el código, o qué mas le puedo corregir. Gracias, y estamos en contacto. |
|
| No seguiste leyendo el hilo, el final está la respuesta que buscas, lee a partir de este post. |
elchininet
5 Tutoriales |
|
Muchisimas gracias elchininet, gracias a ti ya pude resolver mi problema, en lugar de poner myclip._y= (Stage.height/2) - (myclip._height/2), solo lo sustitui esto ultimo por le valor de lo que representa myclip._height/2 y ya no sale descentrada mi pelicula tanto desde el principio como al redimensionar la ventana del navegador. En resumen la posición del swf externo me quedo asi: Código : myclip._x= Stage.width -1325 myclip._y= (Stage.height/2) - 229; y como todo lo tengo en el primer frame, ya no hubo mas problemas. (espero ejeje). Mil gracias!!! |
|
| Es una solución, pero no es muy limpia, lo que quería que leyeras es que si el primer frame está vacío el alto del movieClip es 0, por lo tanto debes poner un cuadro del tamaño de la escena en el primer frame (aunque este cuadro sea transparente para que no se vea). |
elchininet
5 Tutoriales |
| TODO LO QUE HACE DIAGRAMACIÓN LIQUIDA TIENE QUE ESTAR EN EL PRIMER FRAME?? ES Q TENGO UN OBJETO QUE HACE ESTA DIAGRAMACIÓN PERO ESTÁ EN EL FRAME 30 ES DECIR LA PELICULA COMIENZA, LOS OBJETOS Q ESTAN EN EL PRIMER FRAME HACEN LA DIAGRAMACIÓN CORRECTAMENTE PERO EL QUE ESTA EN EL 30 NO, LO CURIOSO ES Q SI LO CORRO PARA EL PRIMER FRAME SI HACE LA DIAGRAMACIÓN, ALGUIEN ME EXPLICA POR QUÉ?? |
|
|
@Loop, no escribas en mayúsculas, está muy mal visto en los foros, ya que parece que gritaras. La diagramación líquida en teoría es que tengas el flash en 100% de ancho y alto, el código que sitúas dentro de flash es para situar o redimensionar los elementos dependiendo del tamaño del stage. Así que si en diferentes frames tienes elementos que necesitas que se ajusten, en tu función de redimensionar (que debe estar en el primer frame) debes contemplarlos a todos. Lo mejor es que dentro de la función hagas diferentes condiciones para que dependiendo del frame que te encuentres interactúes con unos objetos u otros. |
elchininet
5 Tutoriales |
|
Hola gracias por responder, el problema no es con la diagramación liquida directamente, el problema es q a los objetos q hacen la diagramación no los puedo animar, por ejemplo: tengo un fondo con diagramación, encima de este una barra de 30px d ancho que hace la diagramacion en width (entonces la barra solo se ajusta al ancho de pantalla) hasta hay todo bien, pero si yo fuera a animar la barra para q se mueva hacia abajo después de pinchar un botón esa barra no se mueve eso es lo q no he podido hacer. Cómo lograrlo?? |
|
|
Lo mejor es animarla dinámicamente para que esta se mueva dependiendo del tamaño de la pantalla, para ello puedes utilizar una librería como TweenMax. Ahora si de todas formas quieres trabajar con animaciones en la línea de tiempo, tu barra debe ser un MovieClip y debe tener la animación dentro (las animaciones no deben destar en la línea de tiempo principal) y la diagramación lo que hace es escalar el MovieClip de la barra con todo lo que tenga dentro. |
elchininet
5 Tutoriales |