¿Quieres registrarte?

Orientandose en Flash con Diagramación Líquida

Por: D3N14M
5 de Marzo del 2007
76 de clabLevel
Otros artículos de D3N14M
18,184 visitas

Bueno, no se si soy el único que ha tenido este problemita, pero como me he estado partiendo la cabeza un par de días para intentar resolverlo y todos los gurus de flash que ponían tutoriales no tocaban puntualmente el tema (será que era demasiado obvio y yo soy un newbie XD ).

Entonces, de lo que quiero hablarles pequeños es "Como demonios se yo donde esta el punto 0 de una película flash cuando estoy empleando un Stage.scaleMode = "noScale";" ?

Bien, lo primero resolver un pequeño misterio, flash, cuando le ordenamos que ajuste el scaleMode sea noScale (es decir que no distorcione los tamaños de los mc), tiende a centrar la película. Por ende, si nuestra película mide 500 pixeles de ancho, cuando el Stage (o FlashPlayer, como quieran decirle) mide 600 pixeles de ancho, el punto 0 de la película se encuentra en -50. Esto hace que si por ejemplo ajustasemos el mc que usamos de fondo de la web, se "desplace" en la pantalla.

Entonces, existen miles de formas para resolver esto, la forma rápida y a prueba de idiotas (usease yo) es esta:

Código :

Stage.scaleMode = "noScale";
function posicionar(){
   ceroX = (1000 - Stage.width)/2;
   ceroY = (560 - Stage.height)/2;
   cont._x = ceroX + 5;
   cont._y = ceroY + 5;
   cont._width = Stage.width - 10;
   cont._height = Stage.height - 10;
}
var stageListener:Object = new Object();
stageListener.onResize = function(evt:Object) {
   posicionar();
}
Stage.addListener(stageListener);
posicionar();


Como se puede ver, le asigno a cont (que es un recuadro gris) la posición basandome en las variables ceroX y ceroY, de forma que no importa que tanto se distorcione o varíe el Stage, su posición siempre será la del punto cero que ve el usuario y no el original (que andará por China o Estambul XD ).

Deniam

P.D.: En el ejemplo se ve que a los valores sumo o resto 5 o 10, esto es para que el recuadro gris deje un margen de 5 pixeles.

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript hack

Comentarios | Enviar un comentario
De hecho eso no es necesario, con:
Stage.align = "TL";

Ya lo tienes
Por: Hector_blog
Cierto con TL el punto cero sera el mismo de siempre pero vale la explicación
Por: GersonM_blog
quiero apreder mas sobre flash y deseo adquir algunos codigos
Por: Angel polanco_blog
este tutorial es mas valioso de lo que muchos piensan. yo tuve el mismo problema cuando comence a trabajar en un entorno flash al 100%. el problema mas frecuente es que cada usuario tiene una resolucion de pantalla diferente, ya sea por la resolucion de OS o del browser. por lo cual uno tiene que usar estos metodos para poder determinar las 4 "puntas" de la pantalla si es que se desea aplicar contenidos que se adapten dinamicamente a esta. yo por lo general tiendo a centrar el contenido de la pagina, pero si el tamaño de pantalla es inferior al contenido, genero un scrollbar, y que el contenido deje de estar centrado para pasar a estar "anclado" a la parte de arriba. lo que mas me ha costado fue una aplicacion de "cartas" que si uno "resizeaba" (?) la pantalla estas se ordenaban de forma tal que no desaparezcan partes, como suele suceder en incluso muchas paginas de empresas multinacionales.
el anclaje "TL" como dicen... no sirve para lo que estoy estableciendo. por que si bien es mas facil obtener el punto x0 y0 , no sirve de nada si no podemos obtener los otros 3 valores. Ancles donde Ancles, siempre tendras que usar programacion para la diagramacion liquida... yo recomiendo siempre un anclaje "T" para, en ultima instancia cuando la pantalla es mas chica que el contenido, generar ese scrollbar. una ves echo esto, central el contenido, o anclarlo donde quieras es simplemente añadir una o dos lineas de codigo...
Por: lookout_blog
por favor podríamos seguir con el tema????
Es más que interesante.
Si pudierais poner enlaces a más explicaciones seria estupendo, ya que lo único que encuentro son discusiones sobre el tema pero no arrojan ni una linea de explicación sobre como hacerlo bien. por que yo se que esto se puede hacer y bien y si no miren esta página:
http://www.trisquel.com

o esta otra:
http://www.adobe.com/uk/creativefreedom/

un saludo y a seguir evolucionando internet
Por: tatolc_blog
j0'
Por: 8jho_blog
Hola no se si este tema esta cerrado pero me gustaria heceros un pregunta a todos a quellos qe me puedan decir algo, en fin ayudarme.

El problema es que la imagen que esta en el fondo se adapta al stage pero distorssionada, me guataria que se adaptara pero sin distorsionar.

Este me redimensiona correctamente la imagen del fondo:
http://opcion1.net/luis/escalarFondo.swf

Este me lo adapta todo al stage, pero la imagen la deforma (cambia el stage)
http://opcion1.net/luis/home.swf

Me gustaria que se adaptara todo al stage, pero que la imagen no se distorsionara.

Creo que el problema esta en Stage.align = "TL";

Me podrias echar una mano?
Gracias de nuevo
Por: apuerta_blog
Como no se nada de código perdonadme...
El código de D3N14M, vamos para que 0 sea siempre 0 y poder colocar mejro en mc´s las cosas... donde se pone éste código???
llevo dias leyendo y leyendo y no pillo nada, un librin online no hay? :( salu2
Por: SaSuK3_blog
Buenas. Oye, apuerta, me gustaría hacerte una pregunta (y a los demás si saben la respuesta).
En el segundo ejemplo que has puesto (http://opcion1.net/luis/home.swf), cómo consigues el menú de abajo, que al redimensionar la ventana se mantiene abajo??
Y el fondo del menú?
Este efecto lo he visto en varias webs y no lo consigo, a ver si me podéis ayudar.
Gracias de antemano...
Por: d:e:m_blog
Hola,

Me parece utilísimo el consejo, me ha ayudado mucho. Pero necesito que un elemento (por ejemplo un botón) se ajuste siempre abajo en el navegador. En definitiva, necesito saber cómo localizar el valor de la parte más baja del Stage (porque poniendo [b]mc_boton._y = Stage.height - mc_boton._height[b] no lo ajusta)

Gracias
Por: lordmarius
hola , me gusto n el tema de diagrama cion esta, peor tengo una duda intenet hacerlo , me salio 50% bien pero tengo dos problemas el primero es cuando abro la pagina me sale activacion de active x y la segunda no puedo dejar la imagen de fondo fija sin barra de scrool y no tengo ide aporke pasa eso si los ejemplos utoy estas suepr buenos y kiero algo similar si no es menos igual, pucha ojala me puedan ayudar qeu lo necesito urgente gracias
Por: larrasnbk
Muchas gracias por tu explicación! me ha servido de mucha ayuda. Yo también estaba volviendome loco para tener los objetos en su sitio en una diagramación líquida.

Muchas gracias de nuevo
Por: BUENISIMO!-blog
gjfhuhhgmkjufii8mvvn v jfjdjjhfjnyhumujuyudhudfhduijiuugu9gg
Por: ,jjgjgjyhgy-blog
hola: soy nuevo en esto y lo unico que quisiera saber es como hson los parametros de configuracion?.
porque lo unicoque busco es poner una imagen que cubra el 100% del fondo.

gracias
Por: elchimu
alguien me puede ayudar hice una web, que publique 100% en flash en problema que con un fondo que se escala con la propiedad Tl
el problema que tengo es que cuando la veo en un monitor de 15 pulgadas me corta el contenido mi pelicula es de 1000 x 550 px quiero que me salga un scrol cuando la pelicula no entre en el monitor y eh buscado por todos lados y no encuentro repuesta desde ya muchas gracias si alguien me puede ayudar estoy deseperado tengo queentregar la web muchos gracias
Por: Leandro -blog
maestro muy bueno tu aporte pero tengo un problema soy muy amateur en flash y quisiera saber a donde va a este codigo...mi pagina mide 1240 x 760,espero una pronta respuesta saludos
Por: Colitoar
Estoy un poco perdido en todo este tema de la diagramación líquida, me parece muy interesante y funcional. He leido un tutorial báscico en este sitio, acerca de diagramación líquida, pero hay algunas cosas que no entiendo, como por ejemplo: luego de que ya tengo el swf publicado de flash ¿Cómo obtengo el archivo html con diagramación líquida? puesto que en el archivo html que publica flash no funciona la diagramación liquida. Lo he abierto desde dreamweaber, he importado el swf y eh cambiado algo de código desde allí(como lo vi desde el mismo tutorial en mención), pero me sale un chorro de código que no es el mismo q aparece en el tutorial. Por favor solicito su ayuda ,o bien me puedan enviar el link de algun tutorial que me pueda ayudar y aclarar las cosas
Por: diefer72
Yo tengo un problema con un sitio al 100% pero es usando el ScrollPane, al intentar ajustar el ancho al mismo del Stage en lugar de tomar el tamaño como otros movie clips se ajusta de manera rara y el contenido se comprime, ¿alguien sabe como solucionar este problema?
Por: Joel-blog
Respuesta a diefer72

para que el HTML te salga adecuado a la diagramacion liquida, lo haces desde flash. abres "archivo/configuracion de la publicacion o file/Publish setting" o (Ctrl+Shift+F12) y ahi seleccionas la publicacion del archivo html. Te aparecerá una pestaña de configuracion HTML, la pulsas, y en ella simplemente modificas esto: Dimensions:Percet y Scale:No scale.

Y ya.
Por: simon-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.