Foros del Web » Creando para Internet » Flash y Actionscript »

duda desesperante

Estas en el tema de duda desesperante en el foro de Flash y Actionscript en Foros del Web. Hola a todos, recurro a este foro por el fin que alguien me pueda ayudar porque llevo dias sin éxito. Lo que yo quiero es ...
  #1 (permalink)  
Antiguo 10/09/2010, 13:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 17
Antigüedad: 16 años, 1 mes
Puntos: 0
duda desesperante

Hola a todos, recurro a este foro por el fin que alguien me pueda ayudar porque llevo dias sin éxito.

Lo que yo quiero es pasarle por parámetro una variable que contiene la url de la imagen y que al pulsar sobre un botón me la reescale (manteniendo las proporciones) a pantalla completa.

Para ser más explicito busco igual que el ejemplo http://www.goopal.org/Google-Sites-Working-Tests/flash-embed/flash-lightbox pero que reescale.
En este ejemplo se ve todo completo porque la imagen ya que se han molestado en redimensionar al tamaño estandar de monitor. En mi caso voy a tener imágenes de distintos anchos y altos por lo que me gustaria que se reescalará mantenimiendo proporciones en toda la pantalla.

¿Alguien por favor sabe como se hace?
Mis nociones de flash son muy flojitas y esto me cuesta una eternidad.
Muchiisimas gracias por cualquier ayuda.

Código:
<html>
<head>
<title>prueba</title>
</head>
<body>
  Fullscreen:
  <embed width="100%" height="100%" src="flashlightbox.swf?attredirects=2" id="fullscreen" allowfullscreen="true"
    flashvars="img_src=foto1.jpg" >
   </embed>
</body>
</html>
  #2 (permalink)  
Antiguo 10/09/2010, 15:56
 
Fecha de Ingreso: marzo-2008
Mensajes: 17
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: duda desesperante

Lo que hago es cargar el LayoutDemo.as poniendo en la cabecera import LayoutDemo ( supongo que se hace asi )
La linea que me da error es : Align.setPosition(Align.TOP_LEFT, contenedor);
Acceso a la propiedad Aling no definida.

La clase Layout está en :
http://slekx.com/2009/12/scaling-and-aligning-display-objects/

Seguramente sea muy sencillo pero al no tener ni idea no sé como usar la clase Aling en mi contendor de forma que pueda alinearlo a la esquina superior izquierda.

Por favor alguien me puede indicar. Gracias

Todo mi código es :

Código:
import flash.net.URLLoader;
import flash.display.Loader;
import flash.display.DisplayObject; // no
import flash.events.*;
import LayoutDemo; 

var tamañofinal = 100;
var i = new Loader();
i.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
i.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
i.load(new URLRequest("imagen.jpg"));
//change the url of the above line to something that doesn’t exist to test the error
contenedor.addChild(i);

contenedor.scrollRect = new Rectangle(0, 0, 200, 200);
Align.setPosition(Align.TOP_LEFT, contenedor);


function errorHandler(event:ErrorEvent):void {
trace("errorHandler: " + event);
}


// no se escala el stage de inicio
stage.scaleMode =StageScaleMode.NO_SCALE;
// ocultamos el botón de pasar a modo normal de inicio
normal_btn.visible = false;
// asignamos las funciones a ejecutar al clicar sobre los botones
fs_btn.addEventListener(MouseEvent.CLICK, completaSinEscalar);
fs2_btn.addEventListener(MouseEvent.CLICK, completaEscalando);
normal_btn.addEventListener(MouseEvent.CLICK, modoNormal);


// acciones de los botones para poner en fullscreen
function completaSinEscalar(e:MouseEvent):void {
	stage.scaleMode =StageScaleMode.NO_SCALE;
	stage.displayState=StageDisplayState.FULL_SCREEN;
}
function completaEscalando(e:MouseEvent):void {
	stage.scaleMode =StageScaleMode.SHOW_ALL;
	stage.displayState=StageDisplayState.FULL_SCREEN;
}
// acciones del botón pasar volver a modo normal
function modoNormal(e:MouseEvent):void {
	stage.displayState=StageDisplayState.NORMAL;
}
// cuando pase de un modo a otro lo detectamos 
// con estas rutinas y mostramos y ocultamos los 
// botones correspondientes
// ---------------------------------------------------------------------
function comprobarEstado(e:Event):void {
	if (stage.displayState==StageDisplayState.FULL_SCREEN) {
		fs_btn.visible = false;
		fs2_btn.visible = false;
		normal_btn.visible = true;
	} else {
		fs_btn.visible = true;
		fs2_btn.visible = true;
		normal_btn.visible = false;
	}
}
// asociamos el evento de cambiar de modo
// con la función comprobarEstado
stage.addEventListener(Event.FULLSCREEN, comprobarEstado);
// ---------------------------------------------------------------------

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:22.