Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Pascal Discussion :

Nouvelle version 13.10.25


Sujet :

Flash Pascal

  1. #21
    Membre expérimenté
    Ce qui est curieux, c'est qu'en surdimensionnant {$FRAME_WIDTH} 1600 pixels par exemple (dépasser la valeur de la définition horizontal) en supprimant :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     Stage.addListener(Self);
    et le
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Stage.scaleMode := 'noScale';
    , ça marche...

  2. #22
    Expert éminent sénior
    tout dépend de ce que tu entends pas "ça marche"

    sans le "noScale" le contenu de l'animation dont les dimensions sont définies par $FRAME_WIDTH et $FRAME_HEIGHT est zoomé selon certaines règles reprises ici.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #23
    Membre expérimenté
    Ce que je voulais dire est qu'il est dommage de ne pas garder la valeur de scalemode par défaut :showAll qui permet un redim sans faire écouter stage..
    Il vaut mieux éviter le noscale.

    stage.width prend la valeur FRAME_WIDTH que l'on définit supérieure à la plupart des résolutions écran si bien que le movieclip s'adaptera automatiquement à la largeur du navigateur qui est plus petite. Ainsi on aura un redimensionnement systématique qui se centre lui-même. Il suffit d'ajouter un align top. Le clip ne sera jamais plus petit que la largeur du navigateur avec cette astuce.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    program fullpage;
     
    {$FRAME_WIDTH 1600}  //grande valeur
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8;
     
    type
      TFullPage = class(MovieClip)
        constructor Create;
      end;
     
    constructor TFullPage.Create;
    begin
      inherited Create(_root, 'FullPage', 1);
      beginFill($ff0000);
      linestyle(1,0);
      lineto(Stage.Width,0);
      lineto(Stage.Width,100);
      lineto(0,100);
      endFill();
      beginFill($ffff00);
      moveto(Stage.Width-100,0);
      lineto(Stage.Width,0);
      lineto(Stage.Width,100);
      lineto(Stage.Width-100,100);
      lineto(Stage.Width-100,0);
      endFill();
    end;
     
     
    begin
      TFullPage.Create();
      stage.align:='T';
    end.

  4. #24
    Expert éminent sénior
    oui d'accord, mais dans ce cas tu as une zone blanche en bas de page (je ne savais pas que "align" fonctionnait sans le noScale). et si tu réduis la hauteur de la page la barre rouge se met soudain à rétrécir
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #25
    Membre expérimenté
    Citation Envoyé par Paul TOTH Voir le message
    oui d'accord, mais dans ce cas tu as une zone blanche en bas de page (je ne savais pas que "align" fonctionnait sans le noScale). et si tu réduis la hauteur de la page la barre rouge se met soudain à rétrécir

    Je n'ai pas été vérifier . De toute façon, ta méthode est celle préconisée par adobe et même dans l'excellent bouquin de Thibault Imbert en as3 où l'on a un véritable événement Event.Resize qui gére le redimensionnement en StageScalemode.No_Scale...

    C'est parce que je n'aime pas utiliser noscale que je cherchais à tout prix une parade...