Comunidad de diseño web y desarrollo en internet online

Duda DIAGRAMACIÓN LÍQUIDA

Citar            
MensajeEscrito el 14 Jul 2009 12:19 am
Cordial Saludo.
Estoy realizando mi web a base de Flash por medio de Diagramación Líquida:
http://andresv.subiraqui.com/Ensayo.html

Al inicio logra ajustar los diferentes elementos al tamaño de las diferentes pantallas. El problema es que cuando se le da click a los botones estos aparecen aparecen en su ubicacion original del tamaño (800x600) y no se ajustan a la pantalla teniendo en cuenta la ubicacion escrita en el codigo; el unico modo para que dichos botones se ajusten es modificando manualmente el tamaño de la ventana.

Aqui muestro el codigo del primer SWF (boton Obras):

Stage.scaleMode = "noscale";
Stage.align = "TL";

_root.BarraAbajo.mn3 = Stage.width;
BarraAbajo._width = Stage.width;
BarraAbajo._y = Stage.height-135;
BarraAbajo._x = Stage.width/200;

_root.MariaLucia.mn4 = Stage.width;
MariaLucia._y = Stage.height-120;
MariaLucia._x = (Stage.width-300)/2;

_root.obras_btn.mn5 = Stage.width;
obras_btn._y = Stage.height-159;
obras_btn._x = (Stage.width-90)/2;

_root.OleoLienzo_btn.mn6 = Stage.width;
OleoLienzo_btn._y = Stage.height-180;
OleoLienzo_btn._x = (Stage.width-240)/2;

_root.Animacion.mn9 = Stage.width/2;
Animacion._y = (Stage.height-100)/2;
Animacion._x = Stage.width/2;

_root.OtrasObras_btn.mn10 = Stage.width;
OtrasObras_btn._y = Stage.height-196;
OtrasObras_btn._x = (Stage.width-170)/2;

_root.onResize = function() {

_root.BarraAbajo.mn3 = Stage.width;
BarraAbajo._width = Stage.width;
BarraAbajo._y = Stage.height-135;
BarraAbajo._x = Stage.width/200;

_root.MariaLucia.mn4 = Stage.width;
MariaLucia._y = Stage.height-120;
MariaLucia._x = (Stage.width-300)/2;

_root.obras_btn.mn5 = Stage.width;
obras_btn._y = Stage.height-159;
obras_btn._x = (Stage.width-90)/2;

_root.OleoLienzo_btn.mn6 = Stage.width;
OleoLienzo_btn._y = Stage.height-180;
OleoLienzo_btn._x = (Stage.width-240)/2;

_root.Animacion.mn9 = Stage.width/2;
Animacion._y = (Stage.height-100)/2;
Animacion._x = Stage.width/2;

_root.OtrasObras_btn.mn10 = Stage.width;
OtrasObras_btn._y = Stage.height-196;
OtrasObras_btn._x = (Stage.width-170)/2;

}

Stage.addListener(_root);


No se que puede estar mal. ¿Existirá algún Código para ubicar esos botones y q cumplan las distancias establecidas en la diagramacion liquida, independientemente del tamaño de la ventana?

Agradezco la atencion prestada y espero respuestas.

Por avillate

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 14 Jul 2009 11:35 am
Cuando carga inicialmente el Flash no toma el tamaño del escenario, pásaselo como flashvars, dale nombre a la función, digamos acomoda y llámala directamente pasándole esos datos, luego reacomodas para que funcione con Stage.onResize con algo así:

Código ActionScript :

listener = {}
listener.onResize = llamarAcomoda
function llamarAcomoda(){
   acomoda(Stage.width, Stage.height)
}
function acomoda(w, h){
  BarraAbajo._width = w;
  .....
}
Stage.addListener(listener);


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Jul 2009 11:55 pm
Pues te cuento que no me funcionó. Los botones y la animacion siguen apareciendo incialmente en el tamaño inicial del SWF y unicamente se modifican al mover manualmente el tamaño de la ventana.

Aqui tengo el codigo, hice las mismas indicaciones anteriores:
Codigo:

Stage.scaleMode = "noscale";
Stage.align = "TL";

listener = {}
listener.onResize = llamarAcomoda

function llamarAcomoda(){
acomoda(Stage.width, Stage.height)
}
function acomoda(w, h){
BarraAbajo._width = w;
BarraAbajo._y = h -135;
BarraAbajo._x = w /200;

MariaLucia._y = h-120;
MariaLucia._x = (w-300)/2;

obras_btn._y = h-159;
obras_btn._x = (w-90)/2;

OleoLienzo_btn._y = h -180;
OleoLienzo_btn._x = (w-240)/2;

Animacion._y = (h-100)/2;
Animacion._x = w/2;

OtrasObras_btn._y = h-196;
OtrasObras_btn._x = (w-170)/2;

}
Stage.addListener(listener);

Un saludo.

Por avillate

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Jul 2009 11:07 am
Te faltó un detalle:

Cuando carga inicialmente el Flash no toma el tamaño del escenario, pásaselo como flashvars


El tamaño inicial lo puedes capturar con JavaScript

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Jul 2009 01:43 am
Solisarg, he intentado buscar acerca del uso de FLASHVARS, pero no encuentro algun tutorial que explique la metodologia para asignar el valor correcto del tamaño de la pantalla a las variables FLASHVARS para luego pasarlas a la aplicacion en flash. Conoce alguno?

Leyendo algunos foros y tutoriales he hecho este codigo HTML, pero no me funciona. La verdad no conozco muy bien esto de Flashvars, me gustaria me ayudara.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="100%" height="100%">
<param name="movie" value="Web MariaLucia/Index.swf" />
<param name="quality" value="high" />
<embed src="Web MariaLucia/Index.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
<param name="FlashVars" value="var1=width&var2=height" />
<embed src="Index.swf" width="100%" height="100%"
flashvars="var1=width&var2=heigth"/>
</object>

Por avillate

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Jul 2009 10:59 am
Ok, tienes tus dos flashvars, var1=width&var2=height

Ahora tienes que hacer que esos valores sean reales, lo siguiente es que busques como se captura el ancho y algo de la pantalla con JavaScript (a través del objeto Screen) y luego escribas esos valores en el flashvars. Quizás si usas SWFObject http://code.google.com/p/swfobject/ en vez de los antiguos tags que te darán problemas con IE sea mas simple

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2009 12:58 am
Jorge
Cordial Saludo.

Encontre en Internet que en la parte de edicion HTML, en la sección HEAD, debo copiar el siguiente codigo:

Código :

<Script language = JavaScript>

UserWidth = window.screen.width
UserHeight = window.screen.height
UserWidth = "Screen Width = " + UserWidth
UserHeight = " Screen Height = " + UserHeight

alert(UserWidth + UserHeight)
</Script>


Con este codigo entiendo que se está capturando el ancho y largo de la pantalla sin necesidad del SWFObject (porque no encontre muy buena informacion sobre la utilizacion de dicho complemento). Lo que no entiendo es como asignar esos valores del ancho y alto de la pantalla a las variables de FlashVars.

Agradezco de antemano su ayuda.

Por avillate

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 22 Jul 2009 10:31 am
Bueno ... si no usas SWFObject, al menos usa los nuevos tags que genera Flash ... o tendrás pronto a tus clientes con IE quejándose ;)
Dado que el tag que pusiste no usa JS, deberías agregar un document.write, en la forma mas simplista sería

value="var1=<script language="JavaScript">document.write(UserWidth);</script>&var2 ...

Pero la nueva salida de los templates de Flash es bastante mas larga y complicada (usa JS para escribir los tags .... y luego los pone de la forma tradicional dentro de object, con lo cual tienes 4 lugares para tocar) Cuando estes frente a ellos ... reconsidera lo de SWFObject ;)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2009 07:03 pm
Ok le hice caso con lo referente a continuar con el SWFObject.
Seguí investigando y tengo el siguiente codigo para el archivo HTML modificado en dreamweaver:

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<style type="text/css">
<!--
html {
  height: 100%;
  overflow: hidden; /* Hides scrollbar in IE */
}
body {
   height: 100%;
   margin: 0;
   padding: 0;
   background-image: url(../../inicio/wp-content/themes/oriental/images/searchBarBk.gif);
}
#flashcontent {
  height: 100%;
}
-->
</style>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
   <head>
      <title>SWFObject 2 dynamic publishing example page</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <script type="text/javascript" src="swfobject.js"></script>
      <script type="text/javascript">
      var flashvars = {};
         flashvars.varw = "100%";
         flashvars.varh = "100%";
         var params = {};
         params.allowfullscreen = "true";
         var attributes = {};
      swfobject.embedSWF("Index.swf", "myContent", "100%", "100%", "9.0.0", "expressInstall.swf");
      </script>
   </head>
   <body>
      <div id="myContent">
         <h1>Alternative content</h1>
         <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
      </div>
   </body>
</html>


Lo que quiero ahora es que el SWF tome los valores de los FLashVars creados
flashvars.varw
flashvars.varh
¿Como introduzco en el codigo AS2.0 en FLASH, el valor de las variables FlashVars?

Un saludo

Por avillate

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 22 Jul 2009 07:18 pm
No, no le tienes que pasar 100%, sino el valor del ancho y el alto que averiguaste con la rutina de JS. Dado que ya estás en un bloque de JS, simplemente, en vez de pasar el literal 100%, pásale UserWidth y UserHeight. Luego las variables varw y varh aparecerán "mágicamente" en _root, usa esas variables para el primer posicionamiento

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.