Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cambiar resolucion de la pelicula desde Flash

Iniciado por matriax, 10 de Abril de 2010, 09:49:56 AM

« anterior - próximo »

matriax

Quiero cambiar la resolucion de la pelicula en flash de 640x480 a 320x240 o la que sea.

Ya se que se puede hacer desde <html> pero me interesa que vaya ya en el .swf .

El problema si la cambio desde propiedades es que al poner 320x240 lo unico que cambia es la zona, pero la pelicula entera se sigue viendo a 640x480 de forma que el .swf solo muestra la parte superior-izquierda de la pelicula.

¿Alguna solucion?
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

yoseman

#1
Hola qué tal,

Una posible solución es usar en html el 100% de with y height, y luego usar Stage.

En AS2, para probar esta clase, lo que deberías de hacer es:

en html poner el height y el width a 100%

En la película creas un clip llamado por ejemplo mContenido del tamaño que sea, pero que será tu película de trabajo, lo que estamos haciendo es meterla en otro clip. Resumiendo, el clip que tenias lo conviertes a un clip de pelicula llamado mContenido

en una capa de código en la escena principal

//esto es codigo actionscript 2.0 en 3.0 sería parecido
Stage.scaleMode = "noScale";
Stage.align = "TL";
// recogemos la dimensiones reales de tu clip.
tamInicialClip_x=mContenido._width;
tamInicialClip_y=mContenido._height;
sizeListener = new Object();
Stage.addListener(sizeListener);
sizeListener.onResize = function ()
{
escala()
}
this.onLoad=function()
{
escala()
}

function escala()
{
//definimos un nuevo ancho de clip
mContenido._width=320;  
//redimensionamos a escala usando las dimensiones reales del clip recogidas en
// tamInicialClip_y y tamInicialClip_x
mContenido._height=(mContenido._width)*tamInicialClip_y/tamInicialClip_x  
mContenido._x=(Stage.width/2)-(mContenido._width/2);
mContenido._y=(Stage.height/2)-(mContenido._height/2)
trace(mContenido._width+" "+mContenido._height)
}


Con esto lo que estás haciendo es que aunque tu pelicula de flash ocupa el 100% de ancho y alto disponible del navegador, tu estás posicionando tu clip mContenido centrado en pantalla, una vez se ha redimensionado a escala al ancho de 320 píxeles.

Lo bueno que tiene es que como estamos usando un listener de stage, si el navegante redimensiona la ventana del navegador, el listener lo detecta y vuelva a situar el clip

Y sólo definimos un valor para redimensionar, por ejemplo 320 de ancho , porque obviamente, la redimensión es a escala, el alto ya se calcula automáticamente con un aspectratio.



Un saludo espero que te sirva

matriax

Jorl, no habia otra forma de hacerlo mas complicado? XD

Si sirve perfecto, ahora solo falta que me aclare que mis conocimientos no son para tirar cohetes, ya te contare.
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/

yoseman

Ey hola,

Entiendo que te pueda parecer complicado, pero la forma de redimensionar desde flash es que la escena ocupe el 100% del ancho y alto disponbile del navegador y ya dentro de ese espacio disponible situar tu clip.

Aunque lo mismo alguién sabe una forma mejor mmmm...

Pero no creo.

Es que si lo haces poniendo en html 320 x 240 de ancho, te toca coger tu pelicula y redimensionarla de todas formas

Un saludo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.