Fullscreen en Flash
- 03/07/2007
- 10:36 am
Desde la versión 9 del Flash Player ya se tiene la posibilidad de realizar fullscreen de películas flash de manera transparente sin necesidad de utilizar javascript u otros artificios. Esta es una de las nuevas características de flash que facilitan el desarrollo de nuevas aplicaciones interactivas.
ActionScript 2.0
Si utilizas AS2 ahora esta disponible una nueva propiedad llamada: Stage.displayState el cual tiene dos posibles valores (fullscreen y normal) con los cuales podemos controlar los estados del modo de visualización del movie. Luego tendremos:
-
// Cambiar a pantalla completa
-
Stage.displayState = "fullscreen";
-
// Cambiar a pantalla normal
-
Stage.displayState = "normal";
De esta forma puedes crear un botón que en el evento onRelease llame a uno de estas opciones, asi de sencillo de utilizar.
ActionScript 3.0
En el caso de utilizar AS3 es semejante el uso, solo que en este caso la propiedad es llamada: flash.display.Stage.displayState el cual tiene dos opciones: StageDisplayState.FULL_SCREEN y StageDisplayState.NORMAL, luego si deseamos hacer uso de esta opción en AS3 tendremos:
-
// importamos las clases necesarias
-
import flash.display.Stage;
-
import flash.display.StageDisplayState;
-
-
// Cambiar a pantalla completa
-
stage.displayState = StageDisplayState.FULL_SCREEN;
-
// Cambiar a pantalla normal
-
stage.displayState = StageDisplayState.NORMAL;
HTML para modo fullscreen
Para hacer uso de esta nueva propiedad es necesario agregar un nuevo parámetro llamado allowFullScreen el cual tiene dos opciones true o false para permitir o no el acceso al fullscreen. Entonces si utilizamos em metodo embed el código sería de la forma:
Ahora si utilizamos SWFObject para insertar flash el código sería de la forma:
-
<script type="text/javascript">
-
var so = new SWFObject("mov.swf", "id", "50", "50", "8", "#fff");
-
so.addParam("allowFullScreen", "true");
-
so.write("movie");
-
</script>
Hay una observación final y es que los evento asociados al teclado (onKeyDown, etc) así como los campos de texto editables se deshabilitan en el modo fullscreen, la verdad no se con que objetivo pero es una de las restricciones.
Posts Relacionados
- WP-SWFObject 1.6
- Flash HD Video en acción
- WP-SWFObject
- JW Flash Video Player
- Yahoo Flash Developer Center
- Uncategorized
Total de Comentarios: 40
Aun no he tenido la oportunidad de probar el codigo de AS3, pero por lo menos el codigo de AS2, no funciona, lo probe en Flash 8 y no reconoce la propiedad “displayState”.
salu2 !!!
[...] Gracias a unjimpe he podido ilustrarme un poco más acerca de esto. Ya que sólo conocia el actionscript utilizado en la versión 2, pero desconocia totalmente el que se utiliza en la version 3 del actionscript y la del HTML. [...]
es posible que suban el ejemplo en .fla???
de antemano se agradece gracias
Si pudieran subir el ejemplo se los agradeceria o por lo menos todo el codigo del botton porque no lo logra hacer
[...] to unjimpe I was able to learn more from this. Because only knew the actionscript used in the version 2, I had [...]
Juanin says: “no funciona, lo probe en Flash 8 y no reconoce la propiedad “displayState”.”
QUE PARTE DE FUNCIONA A PARTIR DE FLASH 9 NO ENTENDISTE??? xD
Favor de facilitar el código exacto para incluir en action y el de la página en html, pues tal y como lo muestra no funciona, pues da error
ahi ta el codigo….
fscommand(”fullscreen”, “true”);
Y como hago para quitarle ese mensaje que dice “Presione ESC para salir del modo pantalla completa” como elimino ese mensaje??????
Hola lo que te falto es decir que al exportar el swf lo hagas en actionscript 1 y funciona perfectamente
Una pregunta, yo desarrollo en Flash Professional 8, pero no me funciona esta funcionalidad, debo usar el CS3, necesariamente ?? Por favor necesito salir de esto urgentemente, graciass!!!
Hola Pablo, no hay problema si lo haces con Flash 8, pero ten en cuenta que el fullscreen no se puede probar directamente en el editor de Flash. El fullscreen se puede probar cuando ya esta en el html final.
ok gracias unijimpe. ahora otra pregunta cual es el evento del Stage para controlar el resize ??
una preguntilla… es posible ejecutar el FULLSCREEN de un SWF?
Es decir, sin añadir en el código fuente el display, etc…. podría hacer un FULLSCREEN?
Gracias.
Ya lo probe y me funciona perfecto, pero tengo una pregunta… es posible usarlo sin con allowscale false? Para que no se pixelen las imagenes? Gracias
Tengom muchas dudas, primero, el AS2 no reconoce el parametro displayState, y los codigos que presentas se colocan en el html o en el flam y si es en el HTML, es en head o en el body?
Gracias
MMMM… PERO CO,O HACER PARA QUE SALGA EL JUEGOEN MODO SCREEM MIREN ESTA ES MI WEB
http://djbandido.com/juegos/?q=motos
BYTES
Don Juanin, por si no leyó bien, el autor dice muy claramente: “DESDE LA VERSION 9 DEL FLASH PLAYER…”
Por que mi fullscreen funciona en Explorer pero en Firefox no funciona.
Supongo que lo de desactivar el campo editable seria para evitar intentos de “Phishing” ya que cualquiera pude crear un flash que se ponga en fullscreen y simule ser otra pagina conocida (la de tu banco, la de hotmail, etc) y llevar a l usuario a que uingrese sus datos de acceso…
Wow!!! Estoy muy agradecido por sus aportaciones, impresionante manera de colaborar con el arte mismo…
De todo corazón, gracias!
El otro metodo es usar:
fscommand(”fullscreen”, “true”);
Para activar el modo Pantalla completa y fscommand(”fullscreen”, “false”); para quitarlo.
No recuerdo si este metodo funciona en una pagina HTML.
Saludos :D
Consulta, yo quiero llevar a fullscreen un flash que tiene varios elementos entre ellos un video, pero quiero agrandar a toda pantalla solo un video, alguien tiene idea como se hace?, lo trabajé llevando el alto y ancho del video al mismo tamaño que el escenario, pero.. puedo volver a restablecer todo desde un boton que cree, NO desde el boton escape.. que obviamente me saca el fullscreen pero me sigue el video a todo tamaño, me explico?. Quisiera el mismo efecto que un youtube.
Gracias!!
Saludos.
.:ela13:.
Si no les funciona en Flash 8 el displayState tienen que oncorporar a su codigo esto:
import flash.display.Stage;
y listo. ;-)
Bueno, vi este tutorial en http://www.funky-monkey.nl/blog/2007/09/10/fullscreen-mode-in-as2/ dice que funciona solamente con flash 9, a pesar de que ya implementa AS3, pero con AS2 tambien lo hace, sin embargo no se si sepas como hacer que los videos presenten un suavizado, pues se muestran con pixelado notorio…
Hola.
He utilizado este tutorial para mi web. Funciona correctamente, pero esto apartir de la función: on (release) {
Stage.displayState = “fullscreen”;
}
Lo que yo quiero, es que al cargar el .swf en web automaticamente se inicie el fullscreen, prove poniendo solo: Stage.displayState = “fullscreen”; en el primer fotograma, peor no sucede nada.
Alguien me pude ayudar.
gracias
Ujimpe!!! top, funciona perfecto, no tiene ninguna complicación…
Gracias compadre!!!
Gracias por la informacion que todo el mundo suministra y por la que me puedan suministrar.
Samuel si tienes razón lo explicado en esta pagina funciona con el boton on release. lo pruevo
abriendolo con el explorador pero de una carpeta local y funciona. pero cuando lo subo a internet. y entro normalmente no funciona.
Alguna sugerencia.
Samuel también creo que no se debería poner en full screen cuando empieza no es muy usable, pero si creo que debería haber un botón y si el usuario lo utiliza esta bien.
De casualidad no podrian poner algun ejemplo para usarlo y logico poderlo bajar??
SALUDOS !!
Hola la verdad es que no puedo lograr que me funcione, yo soy nuevo en esto, y sinceramente ni siquiera se programar estoy intentandolo, pero de verdad no lo puedo hacer ya intente en el flash y en htmal los codigos que debe llevar pero no me sale, si alguien se apiada y me puede dar el ejemplo con el html y el fla se lo agradeceria bastante, o algun link donde pueda descargar un ejemplo, mil gracias.
Hola! Gracias por el dato! Bueno Aquí Explico un par de cositas y un método para que funcione tanto en iExplorer como en Firefox. Basicamente para que funcione lo siguiente:
on (release) {
Stage.displayState = “fullscreen”;
}
Tiene que estar Exportado en FlashPlayer 9 y ActionScript 2. y Para que funcione en ambos navegadores debemos agregar el “allowFullScreen” tanto en un como dentro de las propiedades del objeto embebido. Quedaría el código de esta manera.
Espero sirva.
Gracias!
Hola Gente! primero agradecer el aporte, que me ha sacado de un apuro.
Para seguir compartiendo: les copio el código que incorporé a un botón en mi .fla para evaluar en qué estado está el display y ejecutar la acción conveniente para tener un funcionamiento tipo “switch”.
on(release){
if(Stage.displayState == “normal”){
Stage.displayState = “fullscreen”;
}else{
Stage.displayState = “normal”;
}
}
Gracias Unijimpe!!!
En los manuales online de Adobe, en esta dirección
se explican varias cosas que responden a preguntas que se hicieron en este post:
“El código ActionScript que inicia el modo de pantalla completa sólo puede llamarse como respuesta a un evento de ratón o de teclado. Si se llama en otras situaciones, Flash Player emite una excepción.
Los usuarios no pueden introducir texto en los campos de entrada de texto cuando se trabaja en modo de pantalla completa. Todas las entradas del teclado y el código ActionScript relacionado con el teclado se desactivan en el modo de pantalla completa, excepto los métodos abreviados del teclado (como presionar la tecla Esc) que devuelven la aplicación al modo normal.
Cuando se entra en el modo de pantalla completa, aparece un mensaje que indica al usuario cómo puede salir y volver al modo normal. El mensaje aparece durante unos segundos y luego desaparece progresivamente.”
Saludos
pueden usar estas funciones:
function goFullScreen () {
Stage["displayState"] = “fullScreen”;
}
//
function exitFullScreen () {
Stage["displayState"] = “normal”;
}
Te sugiero q las pongas en una capa.
y en un boton en tu lienzo, agregale este codigo:
on (release) {
if (fullscreen != true) {
_root.goFullScreen ();
fullscreen = true;
}
else {
_root.exitFullScreen ();
fullscreen = false;
}
}
Espero les sirva, por cierto, esta probado en flash8 con AS2.0, y SIEMPRE se necesita la intervencion del usuario (teclado o raton), no se puede empezar en pantalla completa al cargar el swf, ya sea interno o externo.
Hola! está muy bien explicado y funciona perfectamente.
Muchas gracias!
Bueno aqui mi duda:
Tengo una imagen en el reproductor a modo de logo, ya saben como el de las cadenas de TV.
Pues bien, cuando esta normal se ve como tiene que verse, pero cuando paso a fullscreen tambien me lo redimensiona y no quiero que lo haga, si no que se quede con las mismas dimensiones que esta de normal.
Gracias de antemano
Para que no redimensione los elementos puedes colocar al inicio de tu código el siguiente código:
Stage.scaleMode = “noScale”
Esto hará que todos los elementos mantengan su tamaño y tienes que cambiar con código el tamaño de los elementos que tu desees.
GRACIAS!!
el problema lo tenía en SWFObject…
