J'arrive avec mes gros sabots qui est censé me centrer mon movie horizontalement tout en restant tout en haut n'est pas opérationnel...

Apparemment, ça ne marche pas...
J'ai donc tenté de le faire simplement dans le onResize, ça marche dans la preview mais pas dans flashplayer...

D'autre part, j'ai été un peu vite en besogne pour conclure avec le post précédent puisque j'ai fait un autre test en fixant : et voir si ça marchait aussi.

Même constat... ça marche dans la preview et pas dans flasplayer...



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
40
41
42
43
44
45
46
47
48
49
50
51
52
 
program LeStage;
 
uses
 Flash8;
 
{$FRAME_WIDTH   1024}
{$FRAME_HEIGHT  768}
{$BACKGROUND $ffffff}
 
const
 wd=1024;
 hg=1024; //démesuré volontairement puisque en hauteur utile on a environ 570 pixels en format standard(1024x768)
 
type
  mymc=class(movieclip)
   w, h: Number;
   procedure onResize;
   procedure draw;
  end;
 
 var
     mc:mymc;
 
procedure mymc.onResize;
begin
 if _Height>stage.height then //si la hauteur du movie est >à la hauteur utile navigateur alors
 begin
   w := (stage.height*_width)/(_height); //garder les proportions en largeur
   h :=stage.height; //imposer la hauteur utile du navigateur pour éviter de déborder en bas. (si h :=stage.height/2;marche pas dans flashplayer)
  _x:=(stage.width-w )/2; //pour centrer horizontalement pas d'effet de stage.align:='T';
  end;
  clear;
  draw; // redessiner à la nouvelle échelle
end;
 
procedure mymc.draw;
begin
 lineStyle(1,$ff0000);
 moveto(0,0);
 lineto(w,h);
end;
 
begin
 mc:=mymc.create(nil,'mc',1);
 mc.w := wd;
 mc.h := hg;
 mc.draw; // dessin à l'échelle actuelle
 //stage.align:='T';    (marche pas)
 stage.scaleMode :='noScale';
 stage.addListener(mc);
end.
il doit y avoir un lézard dans le compilateur
scaleMode est bien à :'noScaled'...