Wraz z wydaniem Flash Player 9.0.28.0 istnieje możliwość ustawienia aplikacji w prawdziwym trybie pełnoekranowym. Można bez problemu przełączać się z trybu normalnego (w oknie przeglądarki) do trybu pełnego ekranu i odwrotnie. Powrót z trybu pełnoekranowego następuje po kliknięciu przycisku ESC lub odpowiedniego przycisku w aplikacji. Nie jest możliwe uruchomienie bezpośrednio apletu Flash w trybie pełnoekranowym, bez jakiejkolwiek ingerencji użytkownika.
Przykład: (kliknij niebieski prostokąt)
W języku ActionScript 3.0 za tryb wyświetlania odpowiada klasa StageDisplayState określająca, jakiego stanu wyświetlania należy użyć.
StageDisplayState.NORMAL - normalny tryb wyświetlania
StageDisplayState.FULL_SCREEN - pełnoekranowy tryb wyświetlania
Poniżej listing aplikacji przedstawionej powyżej.
Na scenie kładziemy instancję klasy MovieClip o nazwie "fsButton".
stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; fsButton.addEventListener(MouseEvent.CLICK, functionFullScreen); fsButton.buttonMode = true; stage.addEventListener(Event.RESIZE, resizeHandler); function functionFullScreen(e:MouseEvent):void { if (stage.displayState == StageDisplayState.NORMAL){ stage.displayState = StageDisplayState.FULL_SCREEN; } else if (stage.displayState == StageDisplayState.FULL_SCREEN){ stage.displayState = StageDisplayState.NORMAL; } } function resizeHandler(e:Event):void { fsButton.x = stage.stageWidth/2; fsButton.y = stage.stageHeight/2; }
Linie 1-2 - ustawiamy właściwości stołu (sceny) naszej aplikacji. Jeśli scaleMode ma wartość StageScaleMode.NO_SCALE, wówczas treść stołu montażowego zachowuje zdefiniowaną wielkość, nawet jeśli nastąpi zmiana wielkości okna programu Flash Player lub AIR. W tym trybie skalowania właściwości Width oraz Height stołu montażowego (klasy Stage) mogą służyć do określania rzeczywistych wymiarów okna programu w pikselach. (W innych trybach skalowania właściwości stageWidth i stageHeight zawsze odzwierciedlają pierwotną wysokość i szerokość pliku SWF). Ponadto gdy scaleMode ma wartość StageScaleMode.NO_SCALE, a wielkość pliku SWF zostanie zmieniona, następuje wywołanie zdarzenia resize klasy Stage, co umożliwia wprowadzenie odpowiednich korekt.
Wartość z klasy StageAlign, określa wyrównanie sceny we Flash Player lub w przeglądarce. W naszym przypadku właściwość przyjmuje parametr StageAlign.TOP_LEFT, czyli scena jest wyrównana: w pionie do górnej krawędzi, a w poziomie - do lewej.
Linie 4-5 - dodajemy do naszego MovieClip metodę addEventListener, która nasłuchuje zdarzenia dotyczące tego obiektu. W naszym przypadku, po kliknięciu (MouseEvent.CLICK) prostokąta myszką zostanie wywołana funkcja functionFullScreen. Ustawiamy właściwość buttonMode na true, aby nasz MovieClip był traktowany jak button (przycisk).
Linia 7 - do sceny dodajemy metodę addEventListener, która po wywołaniu zdarzenia resize wykona nam funkcję resizeHandler. Zdarzenie resize wykonywane jest automatycznie podczas zmiany trybu wyświetlania.
Linia 9 - definiujemy funkcję functionFullScreen, służącą do zmiany trybu wyświetlania. Jeśli tryb wyświetlania jest NORMAL, to zmieniamy go na FULL_SCREEN, a jeśli obecny tryb to FULL_SCREEN to zmieniamy go na NORMAL.
Linia 18 - definiujemy funkcję resizeHandler, odpowiedzialną za położenie naszego MovieClipa na środku sceny. W tym przypadku pobieramy aktualne rozmiary sceny i ustawiamy button na jej środku.
Oprócz odpowiedniego przystosowania aplikacji Flash musimy, podczas osadzania w HTML, nadać parametrowi 'allowFullScreen' wartość 'true'.
<param name="allowFullScreen" value="true" />
Przykład:
<object data="fullscreen.swf" type="application/x-shockwave-flash" width="400" height="300"><param name="movie" value="fullscreen.swf" /><param name="allowFullScreen" value="true" /></object>







witam..
utworzyłem nie jak pisze: Na scenie kładziemy instancję klasy MovieClip o nazwie „fsButton”.
ale klasy: Button
i z kodu usunołem: linike 5i7
i dopiero mi działa kod w FlashCS4..AS3.0