No escalar película flash en ActionScript (AS2 y AS3)

No escalar película flash en ActionScript (AS2 y AS3)

Hace poco vimos cómo hacer un flash a pantalla completa porque había veces que nos interesaba maximizar la película. Sin embargo, hay que tener en cuenta que por defecto, cuando se amplia el SWF, el contenido se escala y dependiendo del caso lo mismo no nos interesa.

Así pues, hoy vamos a ver cómo evitar el escalado automático del flash para conservar la proporción original. Veremos la manera de hacerlo programando tanto en ActionScript 2 como en ActionScript 3.

ActionScript 2

Al igual que para ponerlo a pantalla completa, para evitar el escalado hay que usar la función fscommand, pero esta vez usando el comando allowscale y el parámetro false. Para que la película flash se abra sin escalarse desde el primer momento, nos vamos al primer fotograma del flash principal y picamos esto:

fscommand("allowscale", "false");

Si por el contrario queremos jugar con el escalado asociándolo a un evento, pues deberemos meterlo en la función correspondiente. Algo así:

this.boton.onRelease = function() {
   fscommand("allowscale", false);
};

A partir de la versión 9 de flash player se puede usar la propiedad scaleMode, que es la usaremos en as3:

Stage.scaleMode = "noScale";

ActionScript 3

En esta versión del lenguaje de programación, usaremos la propiedad scaleMode de la clase Stage y el parámetro NO_SCALE. Para ejecutarla al abrir el SWF vamos al primer fotograma:

stage.scaleMode = StageScaleMode.NO_SCALE;

Para hacerlo con un evento, tendremos que usar algo así (en este caso es un evento de ratón):

this.boton.addEventListener(MouseEvent.CLICK, pulsar);

function pulsar(event:MouseEvent):void {
   stage.scaleMode = StageScaleMode.NO_SCALE;
}
Jesús Tovar - Desarrollador web freelance Sevilla

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *