[Flash] Centrer une animation trop large pour la fenêtre du navigateur

Centrer une animation trop large pour la fenêtre du navigateur [Flash] - Web design - Graphisme

Marsh Posté le 25-01-2010 à 22:51:57    

Bonsoir,
 
Je m'adresse à vous car je bute sur l'intégration de mon objet Flash à ma page web.
 
Mon animation fait 2880px de large et 800px de haut. Je souhaiterais qu'elle se centre horizontalement dans la fenêtre du navigateur.
 
J'ai fait plusieurs essais infructueux
- Une div en text-align:center ou la balise <center> (c'est mal), qui ont pour seul résultat de tasser le swf à gauche
- Une div plus complexe, à base de  

Code :
  1. html, body {
  2. height:100%;
  3. }
  4. #theflash {  /* appliqué à la balise object de l'animation */
  5. position:absolute;
  6. display:block;
  7. left:50%;
  8. top:50%;
  9. margin-left:-1440px;
  10. margin-top:-400px;
  11. }


Ainsi l'animation est effectivement centrée, mais les propriétés stage.stageHeight et stage.stageWidth, qui permettent la relocalisation de certains éléments en fonction de la taille de la fenêtre du navigateur, ne sont plus prises en compte.
 
Lorsque le swf est directement exécuté hors html, le centrage est bon, et le calcul des largeurs aussi.
Je ne vois pas comment intégrer l'animation au html de façon à ce qu'elle se lance pareil.
 
Des idées? Des pistes?
Merci pour votre aide  :)


---------------
Dyslexics have more fnu.
Reply

Marsh Posté le 25-01-2010 à 22:51:57   

Reply

Marsh Posté le 26-01-2010 à 10:29:49    

stageWidth et stageHeight retourne la taille du canvas Flash et non celle de la fenetre du navigateur.
Ton animation ne devrai pas faire 2880px de large déjà, au maximum, mets là à 100% du navigateur... Ensuite, il faut régler certains paramètres pour que l'animation ne soit pas retaillé au sein même du canvas d'intégration. Pour le centrage, c'est bon par défaut (le StageAlign est centrée, sauf si mention contraire dans le script).
 
En AS3 :
 

Code :
  1. //stage.align = StageAlign.TOP;
  2. stage.scaleMode = StageScaleMode.NO_SCALE;


 
et ton canvas dans ton HTML doit donc avoir une hauteur de 800px et une largeur de 100%.


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 26-01-2010 à 11:47:17    

Mon problème est réglé, merci beaucoup !
 
stage.scaleMode était déjà mis à NO_SCALE, par contre j'ai passé le paramètre width de l'objet Flash à la valeur "100%" (height est resté à "800" ), et tout s'est mis en place correctement.
Effectivement le canevas de l'animation est extensible jusqu'à 2880px pour les hautes résolutions d'écran, mais je n'avais pas saisi qu'il ne fallait pas obligatoirement mettre cette valeur dans le tag object.
 
Encore merci !


Message édité par Mariooo le 26-01-2010 à 11:47:45

---------------
Dyslexics have more fnu.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed