La classe Stage permet de modifier la façon dont l'animation est affichée.
Par défaut, une animation Flash est affichée centrée et aussi grande que possible à l'intérieur de son conteneur (Player, Navigateur...).
Les dimensions données par les directives de compilation FRAME_WIDTH et FRAME_HEIGHT servent de base pour
les dimensions de l'image.
Si le conteneur est de taille différente, l'image est agrandie ou rétrécie sans déformation.
Voici une petite animation de 100x100 pixels pour vous montrer de quoi il est question :
{$FRAME_WIDTH 100}
{$FRAME_HEIGTH 100}
{$BACKGROUND $0000FF}
begin
with _root do
lineStyle($FF0000);
lineTo(150, 100);
moveTo(25,25);
lineTo(75,25);
lineTo(75,75);
lineTo(25,75);
lineTo(25,25);
opaqueBackground := $00ff00;
end;
end.
100 x 100 pixels |
150 x 100 pixels |
100 x 150 pixels |
150 x 150 pixels |
la propriété scaleMode
de la classe Stage
permet de modifier ce comportement:
showAll | C'est le mode par défaut présenté ci-dessus. |
noBorder | L'image occupe tout l'espace disponible, quitte a être tronquée. |
exactFit | L'image occupe tout l'espace disponible, quitte a être déformée. |
noScale | L'image est affichée sans mise à l'échelle et la propriété align détermine sa position |
200 x 150 pixels - showAll |
200 x 150 pixels - noBorder |
200 x 150 pixels - exactFit |
200 x 150 pixels - noScale |
En mode noScale
, la propriété align
précise comment est positionnée l'image.
Par défaut elle est centrée, mais les lettre L, R, T et B permettent respectivement de la place à gauche (Left), à droite (Right), en haut (Top) ou en bas (Bottom) de son conteneur.
Il est possible de combiner une position verticale et horizontale : TL, TR, BL, BR.
200 x 150 pixels - noScale |
200 x 150 pixels - noScale L |
200 x 150 pixels - noScale T |
200 x 150 pixels - noScale TL |
La dernière animation est obtenue par le code suivant.
{$FRAME_WIDTH 100}
{$FRAME_HEIGTH 100}
{$BACKGROUND $0000FF}
begin
with _root do
lineStyle($FF0000);
lineTo(150, 100);
moveTo(25,25);
lineTo(75,25);
lineTo(75,75);
lineTo(25,75);
lineTo(25,25);
opaqueBackground := $00ff00;
end;
Stage.scaleMode := 'noScale';
Stage.align := 'TL';
end.
Remarquez que les directives de compilations FRAME_WIDTH et FRAME_HEIGHT sont fixées à la compilation alors
que la classe Stage
peut être modifiée à tout moment dans le code.
Voici les autres propriétés de la classe Stage
propriété | type | description |
---|---|---|
displayState | string | 'normal' ou 'fullScreen' pour basculer l'affichage en plein écran. |
fullScreenSourceRect | Rectangle | Précise la portion de l'animation qui sera affichée en plein écran (à fixer avant de basculer l'animation en plein écran). |
height | Number | hauteur de l'animation en pixels. |
showMenu | Boolean | Permet de cacher une partie du menu Flash; il reste la partie paramétrage. |
width | Number | largeur de l'animation en pixels. |
Il est possible d'ajouter un listener pour répondre aux événements suivants:
procedure onFullScreen(bFull: Boolean); | Invoqué quand on entre ou quand on quitte le mode plein écran |
procedure onResize; | Invoqué quand le conteneur est redimensionné et que l'animation est en mode "noScale". |