Aprire un Filmato SWF in FullScreen da un pulsante

- Letture: 3.797

Vi sarà capitato sicuramente di visitare dei siti completamente progettati in Adobe Flash e visualizzarli a tutto schermo senza limiti di browser o altro.

Avevamo gia visto in passato su JuliusDesign che dal Flash Player 9,0,28,0 è possibile lanciare un qualsiasi filmato SWF a tutto schermo.

Come centrare gli elementi?

Per centrare gli elementi e non far si che abbiano posizioni diverse durante il FullScreen possiamo utilizzare un semplice AS che ci permetta di proporzionare le coordinate x, y in base allo stage in questo modo:

var resizeListener:Object = new Object();
resizeListener.onResize = function() {
button_full._x = Stage.width/2;
button_full._y = Stage.height/2;
};
Stage.addListener(resizeListener);

In questo caso il clip filmato button_full che ingloba il pulsante per lanciare il FullScreen sarà centrato sempre nel mio stage.

Mentre per richiamare la modalità FullScreen da un qualsiasi pulsante ci basta:

on (release) {
// Dopo il rilascio del pulsante:
// Se sono in modalità FullScreen torna in modalità Normale
if (Stage["displayState"] == "fullScreen") {
Stage["displayState"] = "normal";
stageResize();
// Mentre se sono in modalità Normale torna in modalità FullScreen
} else if (Stage["displayState"] == "normal") {
Stage["displayState"] = "fullScreen";
stageResize();
}
}

Una cosa molto importante è inserire nell’HTML in fase di pubblicazione del filmato SWF il parametro allowFullScreen impostato a true in questo modo

Se usiamo SWFObject o simili

so.addParam("allowFullScreen", "true");

Oppure se usiamo il Tag Object

<param name="allowFullScreen" value="true" />

Ricordo anche che il Fullscreen non entra in funzione usando trasparenze via AS.

Stratega, Docente, Speaker con più di 12 anni di esperienza in strategie creative multicanale. Oggi sono Partner & Chief Innovation Officer di ThinkingHat, Innovation Studio specializzato in tecnologie emergenti per aziende e brand audaci.

17 Commenti

  1. Grandissimo Julius,
    mitico questo tutorial, utilissimo, complimenti!
    Ho notato però che non funziona se il movieclip in questione, con il codice per il fullscreen, viene caricato in un altro moviclip. Ti faccio un esempio: quando progetto siti completamente in flash utilizzo sempre un file swf molto leggero che mi funge da preloader al sito vero e proprio. Vorrei che nel sito ci fosse la funzione fullscreen ma quando viene caricato dal preloader questa funzione non va.
    Sai se è possibile risolvere il problema? oppure mi conviene a questo punto inserire il preloader nel file swf del sito stesso?
    sperando di essere stato chiaro, ti ringrazio non solo per la tua eventuale risposta ma anche per tutto il lavoro che fai per noi.
    complimentoni, continua così!!
    Aldo

  2. marcello

    Complimenti per le spiegazioni e gli esempi che ci fornisci continuamente!
    Volevo chiederti un consiglio AS2.0:
    -1- ho una serie di pagine .html che contengono a loro volta un .swf
    -2- da ogni pagina con un menu tipo “dock-menu-flash-xml” vado a pagine diverse .html ( ho inserito _self )
    -3- quando sono in full screen le pagine diverse vengono caricate nella stessa pagina .html ma non rimangono in full vanno in normal.

    come posso mantenere la pagina in full quando dal menu chiamo altre pagine .html ?
    Marcello

  3. @Aldo ciao ho risolvi come hai detto tu nel secondo caso.

    Oppure puoi provare se carichi con evenuali loadmovie a usare _lockroot per i clip filmati

    Ricorda che la chiamata del full screen deve essere nel file swf principale…

    @marcello rimarrai sempre in Full Screen quando utilizzi FLASH ovviamente…qualora tu richiami pagine html esterne uscirai in quanto avvi una chiamata sul browser facendo disattivare il full screen

  4. marcello

    Grazie JULIUS per il chiarimento,
    speravo che ci fosse un modo per rimanere in full chiamando pagine html.

    Marcello

  5. Alessandro

    io invece ho il problema contrario, ho comprato un player che si auto ingrandisce a seconda dello stage in cui è, invece io voglio che rimanga sempre delle stesse dimensioni

  6. Alessandro

    hho dimenticato…. come posso fare???
    oppure: posso incorporare html in flash????

  7. C’è una cosa che non riesco a risolvere, spero che qualcuno mi possa aiutare….
    Quando clicco sul bottone del fullscreen, abilito/disabilito un movieclip e fin qui tutto ok, il problema mi si pone quando clicco sull’ESC della tastiera dato che esco ovviamente dal fullscreen ma NON RIESCO PIU’ a comandare la visibilità della clip che mi interessa.
    Esiste un comando per dare una funzione alla pressione del tasto ESC della tastiera con AS2???

    Spero di essermi spiegato bene.
    thanks

  8. @Alessandro devi intrvenire sul codice AS in cui viene richiamato il resize automatico in base alle dimensioni dello stage, invece di dare altezza e larghezza stage gli dai delle dimensioni fisse.

    @Marco si esiste devi usare i comandi ASCII, ma in teoria l’ESC per il fullscreen non fa altro che uscire come fosse un pulsante comune…

  9. @Julius
    mettendo la funzione nel codice della situazione da fullscreen a normal con il bottone che ho creato il movieclip in oggetto riesco a controllarlo, nello specifico:

    function goFullScreen() {
    Stage[“displayState”] = “fullScreen”;

    this.patch_mc._visible=false; /* è questa la funzione che mi interessa */

    }
    function exitFullScreen() {
    Stage[“displayState”] = “normal”;

    this.patch_mc._visible=true; /* è questa la funzione che mi interessa */
    }

    Facendo esc da tastiera invece la funzione del controllo della clip viene ignorata (quella della proprietà _visible).

    non capisco….

  10. Ciao Julius.

    Complimenti per tutto.

    Comicio subito con l’affermare che io non sono manco lontanamente un web design, pero’ mi sono un po’ appassionato e vorrei riuscire a fare quanto segue:

    Lavorando solo ed esclusivamente con Dreamweaver 8 vorrei che l’enter della mia home-page (che è costituita da una serie di foto che si alternano in Flash ed un’immagine JPG con ENTER col seguente codice:

    )

    aprisse la mia pagina BIO in Fullscreen (ma non con il solito codice Html, poichè molti browser ti bloccano la pagina poichè la considerano come Pop-up), quindi riassumendo dovrebbe aprirsi con un fullscreen che ti da la possibilita’ premendo ESC di tornare in NORMAL.
    Credi sia possibile?
    Come?
    Potresti spiegarmelo “semplicissimamente” magari allegando eventuali codici o allegando un file sorgente?
    Magari siamo in tanti ad avere questo problema..

    Ti ringrazio anticipatamente.
    Antonello

  11. cIAO A TUTTI, QUALCUNO SPERO SAPPIA AIUTARMI. NON SONO MOLTO PRATICO DI FLASH . IL MIO PROBLEMA è QUESTO.

    VORREI INSERIRE UN LOGO O SCRITTA IN ALTO A SINISTRA DEL MIO SITO IN FLASH, E CHE QUANDO ALLARGO O RIMPICCIOLISCO LA FINESTRA DEL BROWSER IL LOGO RESTI SEMPRE IN ALTO A SINISTRA A DIFFERENZA DELLO SFONDO CHE RESTERA’ SEMPRE CENTRATO NELLA PAGINA.

    ESEMPIO VEDI IL LOGO DI QUESTO SITO

    VI RINGRAZIO FIN D’ORA E COMPLIMENTI PER IL SITO!

  12. cIAO A TUTTI, QUALCUNO SPERO SAPPIA AIUTARMI. NON SONO MOLTO PRATICO DI FLASH . IL MIO PROBLEMA è QUESTO.

    VORREI INSERIRE UN LOGO O SCRITTA IN ALTO A SINISTRA DEL MIO SITO IN FLASH, E CHE QUANDO ALLARGO O RIMPICCIOLISCO LA FINESTRA DEL BROWSER IL LOGO RESTI SEMPRE IN ALTO A SINISTRA A DIFFERENZA DELLO SFONDO CHE RESTERA’ SEMPRE CENTRATO NELLA PAGINA.

    ESEMPIO VEDI IL LOGO DI QUESTO SITO
    http://cats.musical.it/

    VI RINGRAZIO FIN D’ORA E COMPLIMENTI PER IL SITO!

Commenti