Ottavo e ultimo appuntamento con le principali novità di Actionscript 3. Riepiloghiamo velocemente i precedenti approfondimenti: display list, uso dei componenti, classe loader, XML E4X, creare una classe, classe Animator e color picker
In questo articolo esploreremo brevemente le nuove funzionalità offerte da Flash CS3 per abilitare la modalità FullScreen utilizzando ActionScript 3.0.

Come vedrete dalla demo on-line, utilizzeremo un pulsante per attivare e disattivare la modalità a schermo intero.
Una volta abilitata la modalità FullScreen, Flash visualizzerà automaticamente per qualche secondo la frase “Premere Esc per uscire dalla modalità a schermo intero" e sarà quindi possibile tornare alla visualizzazione classica cliccando nuovamente sul pulsante o premendo appunto il tasto della tastiera “ESC”
PREPARARE LO STAGE DI FLASH CS 3
Per cominciare create un nuovo file Flash File (ActionScript 3.0) e trascinate sullo Stage un componente Button assegnando come nome istanza fullScreen_btn e come label "Attiva FULLSCREEN”.

IL CODICE ACTIONSCRIPT 3.0
Posizionate il seguente codice sul primo frame del file Flash.
// Importiamo le classi necessarie al funzionamento dello scriptimport flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.FullScreenEvent;
// Memorizziamo lo status del FULLSCREEN:
// false = NORMAL(default) | true = FULL SCREEN
var FullScreenStatus:Boolean;
function init():void
{
// Impostiamo le proprietà dello Stage (NO_SCALE allineato in alto a sinistra)
var swfStage:Stage = fullScreen_btn.stage;
swfStage.scaleMode = StageScaleMode.NO_SCALE;
swfStage.align = StageAlign.TOP_LEFT;
}
init()
// ==============================================
// LISTENER e EVENT HANDLER per la modalità FullScreen:
// ==============================================
function fullScreenRedraw(event:FullScreenEvent):void
{
// Modalità FullScreen Attivata
if (event.fullScreen)
{
fullScreen_btn.label = "Disattiva FULLSCREEN";
FullScreenStatus = true;
}
// Modalità FullScreen Disattivata else
{
fullScreen_btn.label = "Attiva FULLSCREEN";
FullScreenStatus = false;
}
}
// Registriamo un listener per la modalità FULLSCREEN:
// richiamato ogni volta che la variabile FULL_SCREEN viene modificata fullScreen_btn.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw);
// =======================================
// Pulsante per attivare o meno la modalità FULLSCREEN
// =======================================
function changeFullScreenStatus(e:MouseEvent):void
{
if(FullScreenStatus)
fullScreen_btn.stage.displayState = StageDisplayState.NORMAL;
else
fullScreen_btn.stage.displayState = StageDisplayState.FULL_SCREEN;
}
fullScreen_btn.addEventListener(MouseEvent.CLICK, changeFullScreenStatus)
PUBBLICARE IL FILE
Pubblicate il file selezionando il menu FILE -> Publish Setting e cliccando sul pulsante PUBLISH, verificando però che siano selezionate le opzioni Flash e HTML nella scheda Formats
L’ATTRIBUTO HTML ‘allowfullscreen’
Se avete testato lo script da Flash, avrete notato che la modalità FullScreen non funziona
in quanto è possibile utilizzarla solo all’interno di un browser come Internet Explorer o Firefox. Dovrete perciò effettuare una piccola modifica al file HTML che contiene l’swf.
E’ necessario settare a true l’attributo allowfullscreen nei tag HTML inerenti all’swf incluso, ovvero nell’OBJECT, nell’EMBED e nei parametri passati alla funzione AC_FL_RunContent.
Per effettuare questa operazione in modo agevole consiglio di aprire il file HTML generato da Flash in Dreamweaver 8 o superiore, selezionare con il mouse l’oggetto SWF e aprire il pannello PARAMETERS cliccando in basso sull’apposito pulsante posto nella barra delle proprietà (vedi immagine seguente).

Settare infine la proprietà allowFullScreen a true.
Aprite il file HTML da un qualunque browser e verificate il funzionamento.








Commenti (10)
come posso fare per automatizzare questa funzione di fullscreen?
ho provato a mettere la funzione direttamente su frame e/o caricarla tramite l'evento load per i clip filmato, ma non va.
mi sapete aiutare in merito?
Postato da nicola | 17.07.07 16:31
Postato il 17.07.07 16:31
Purtroppo non puoi. Dev'essere abbinata ad un pulsante.
Forse c'è qualche escamotage ma dovrei fare qualche test (anche nella reference di Flex/Flash CS3 ricordo che c'è scritto esplicitamente che non si puo')
Postato da Fabio | 17.07.07 18:22
Postato il 17.07.07 18:22
a me dà questo errore:
SecurityError: Error #2152: Modalità a schermo intero non consentita.
at flash.display::Stage/set displayState()
at prova_fla::MainTimeline/changeFullScreenStatus()
sapete di cosa si tratta?
Postato da manu | 01.08.07 15:43
Postato il 01.08.07 15:43
Probabilmente non hai settato correttamente gli attributi HTML relativi ai permessi sulla modalità fullscreen.
Se infatti provi lo script direttamente da Flex riceverai sempre questo errore. Devi seguire le istruzioni che ho segnalato in questo articolo e creare un nuovo html.
Se hai problemi scrivi pure :)
Postato da Anonymous | 01.08.07 15:58
Postato il 01.08.07 15:58
ottimo tutorial ma ho un problema quando clicco sul pulsante "attiva fullScreen" diventa full screen ma non cambia il pulsante in "disattiva Fullscreen" ( come nel demo)secondo voi qual'è il problema?? c'è da creare un altro pulsante?? o il codice va sistemato?? grazie
Magio Atru
Postato da MagiOAtru | 10.10.07 00:53
Postato il 10.10.07 00:53
ragazzi, visto ke ho solo flash 8, nn è ke spiegate come modificare il codice html manualmente?
Postato da Stefano | 06.11.07 14:59
Postato il 06.11.07 14:59
Premetto che sono un principiante di flash e programmazione in generale, provo da un giorno a fare questo tutorial ma il compiler errors mi da sempre:
A type identifier is expected after the ':'.
Postato da nicola | 24.11.07 14:57
Postato il 24.11.07 14:57
Grazie del tutorial ma ho problemi a farlo andare con opera...
nessuno ha riscontrato lo stesso problema?
Ciao
Postato da rajan | 23.01.08 14:08
Postato il 23.01.08 14:08
ho provato a inserire il pulsante "Disattiva FULLSCREEN" con istanza "fullScreen_btn" ma non funziona...
dove sbaglio ?
Postato da Luciano | 28.01.08 10:50
Postato il 28.01.08 10:50
per il pulsante "Disattiva FULLSCREEN" come faccio, visto che non compare ?
Postato da Luciano | 28.01.08 15:35
Postato il 28.01.08 15:35