Tengo la siguiente duda, quizas algo largo de explicar pero es bastante simple como indico en el "Asunto".
La idea general es hacer un scrollpanel de toda la vida (otros lenguajes de programacion basados en aplicacion), no construir el objeto en si (no llego a tanto),pero si que funcione de igual forma.
La segunda idea es que ese "elemento(clips + codigo)" hagan la funcion de un "panel con autoscroll", alguno dira.. (eso me suena a diagramacion liquida, pues si y no) .
Para los impacinetes va el codigo.
Requisitos para el fla:
1 componente scrollPane en la biblioteca y en el escenario (no imprescindible instacia-> barras)
1 Clip de pelicula instancia->marco (un rectangulo vacio)
1 Cilp de pelicula en la biblioteca (no en el escenario) vinculacion-> contenido_scroll (cualquier cosa que quieras mostrar dentro del panel , debe ser lo suficientemente grande para que salgan la s dos barras y te recomiendo que temoralmente lo arrastres al escenario y lo edites en el contexto, a mi me da un problema de visualizacion si lo edito directamente, y luego lo elimas del escenario o le asignas una instancia y pones la propiedad visible a false)
Requisitos para publicacion html:
Podria dar muchas vueltas para una cosa tan simple edita este codigo con Dreamweaver y cambia el [mi ajuste.swf] por el nombre de su swf.
Código :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Mi scrollPane</title>
<!-- Si no usas este estilo no funciona de la forma que esta pensado -->
<style type="text/css">
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100%" height="100%">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="mi%20ajuste.swf" />
<param name="quality" value="high" />
<param name="salign" value="lt" />
<param name="bgcolor" value="#FFFF00" />
<embed src="mi%20ajuste.swf" width="100%" height="100%" quality="high" salign="lt" bgcolor="#FFFF00" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>
Código :
// REALIZADO CON FLASH MX2004
Stage.scaleMode = 'noScale';
Stage.align = 'TL';
// esto no es mas que un clip que se llama "marco" que es un rectangulo que se autoajusta al tamaño del navegador con distorsion no importa solo es para mostrar los limites cuando no hay barras de desplazamiento.
this.marco._width = Stage.width; //ancho_navegador
this.marco._height = Stage.height;//alto_navegador
this.marco._x = 0;
this.marco._y = 0;
//aqui asigno propiedades a la instancia "barras" de tipo scrollPane
this.barras.contentPath = "contenido_scroll";
this.barras.setSize (Stage.width, Stage.height);
this.barras.move (0,0);
//defino el detector al cambio de tamaño del navegador "midetector"
midetector = {};
midetector.onResize = function()
{
//!!! rutas absolutas!! con rutas relativas no va
_root.barras.setSize (Stage.width, Stage.height);
_root.marco._width = Stage.width;
_root.marco._height = Stage.height;
_root.barras.refreshPane();
}
Stage.addListener(midetector);
Con este codigo se consigue que un clip de la biblioteca (no esta en el escenario) con vinculacion de nombre "contenido_scroll" se muestre dentro de scroll_pane.
Ahora el problema que tengo es que me gustaria redimensionar el clip "contenido_scroll" de biblioteca en tiempo de ejecucion, para escalar el ancho = ancho_navegador y alto = ancho_navegador / (alto_clip/ancho_clip) para que no exista barra de desplazamiento horizontal, solo vertical si fuera necesaria (faltan detallitos como la correccion en caso de mostrar barra vertical, y el tamaño minimo del tamaño del navegador para hacer el "encaje" ).
Con esto pretendo que a la hora de diseñar un flash a 100% del navegador se maximize el tamaño de visualizacion independientemente del tamaño de clip original, del espacio disponible en el navegador (esas dichosas barras que hay por todos lados), y la resolucion del monitor.
Espero haberme explicado correctamente, diculpen si no escribo de forma correcta los terminos de este lenguaje. Lo estoy empezando a conocer.
Un saludo.
Código :
