Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[FMX 2004] pb avec Stage.width

7 réponses
Avatar
Seb
Bonjour,

je viens de remarquer une chose bizarre dans flash:

j'ai fait un flash (550x400 px) avec juste un champ texte Var = toto et ce
code dans la premiere frame

trace("width = "+Stage.width);
this.onEnterFrame=function(){
trace("width = "+Stage.width);
toto = Stage.width;
}

le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi ????

par contre pas de soucis en lancant le swf.

est-ce un bug connu de flash ? ou est-ce que c'est mes yeux :-)

(Flash MX 2004 pro version 7.2)
--
Seb

7 réponses

Avatar
E-stampida
si tu crées 1 zone dynamique qui affiche ton Stage.width, plutôt qu'un trace
et que tu fais le test dans un browser, ça donne quoi ?

--
e-S-tampida

http://development.bbri.be/elearning2 (beta version)
--
"Seb" wrote in message
news:dnc51c$dqt$
Bonjour,

je viens de remarquer une chose bizarre dans flash:

j'ai fait un flash (550x400 px) avec juste un champ texte Var = toto et ce
code dans la premiere frame

trace("width = "+Stage.width);
this.onEnterFrame=function(){
trace("width = "+Stage.width);
toto = Stage.width;
}

le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi ????

par contre pas de soucis en lancant le swf.

est-ce un bug connu de flash ? ou est-ce que c'est mes yeux :-)

(Flash MX 2004 pro version 7.2)
--
Seb





Avatar
E-stampida
Voici un exemple d'un truc que j'avais fait d'une application flash
n'utilisant pas les scrollbars du browser mais d'un scrollpane flash qui
déplacait des éléments suivant la résolution d'écran, etc...Et ça
fonctionnait bien...

var myResizeListener:Object = new Object();
myResizeListener.onResize = function() {
refreshMyScrollPane();
};
Stage.addListener(myResizeListener);
myResizeListener.onResize();

function refreshMyScrollPane(){
positionLogo();
if (Stage.height<740 || Stage.width<980) {
myScrollPane.vScrollPolicy = "on";
} else if (Stage.height>740 || Stage.width>980) {
myScrollPane.vScrollPolicy = "off";
}
if (Stage.width<780) {
myScrollPane.hScrollPolicy = "on";
} else if (Stage.width>780) {
myScrollPane.hScrollPolicy = "off";
}
if (Stage.width<980) {
repositionElements(1100, 3, 743, 326, 743);
} else if (Stage.width>980) {
repositionElements(750, 639, 160, 639, 392);
}
layoutResizer();
}

--
e-S-tampida

http://development.bbri.be/elearning2 (beta version)
--
"Seb" wrote in message
news:dnc51c$dqt$
Bonjour,

je viens de remarquer une chose bizarre dans flash:

j'ai fait un flash (550x400 px) avec juste un champ texte Var = toto et ce
code dans la premiere frame

trace("width = "+Stage.width);
this.onEnterFrame=function(){
trace("width = "+Stage.width);
toto = Stage.width;
}

le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi ????

par contre pas de soucis en lancant le swf.

est-ce un bug connu de flash ? ou est-ce que c'est mes yeux :-)

(Flash MX 2004 pro version 7.2)
--
Seb





Avatar
m-e-
"Seb" a écrit dans le message de news:
dnc51c$dqt$
[...]
le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi
????




Parce que, sous Windows ne tout cas, le clip est redimensionné
lors du test (ctrl-entrée) pour occuper toute la place dispo ?
Avatar
Seb
"E-stampida" a écrit dans le message de news:
dnc5k1$elh$
si tu crées 1 zone dynamique qui affiche ton Stage.width, plutôt qu'un
trace et que tu fais le test dans un browser, ça donne quoi ?



j'ai placé un texte dynamique, en "tester l'anim" la valeur de Stage.width
est erroné et pas dans un navigateur.


--
e-S-tampida


Avatar
Seb
ah, bien vu m-e-, tu as raison !
la valeur de Stage.width change quand on aggrandit ou diminue la taille de
la fenetre dans flash (en "tester l'anim")
c'est couillon mais c'est toujours bon de le savoir.

--
Seb


"m-e-" a écrit dans le message de news:
dnc86e$ibh$

"Seb" a écrit dans le message de news:
dnc51c$dqt$
[...]
le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi ????




Parce que, sous Windows ne tout cas, le clip est redimensionné lors du
test (ctrl-entrée) pour occuper toute la place dispo ?



Avatar
ekameleon
Seb a écrit :
ah, bien vu m-e-, tu as raison !
la valeur de Stage.width change quand on aggrandit ou diminue la taille de
la fenetre dans flash (en "tester l'anim")
c'est couillon mais c'est toujours bon de le savoir.




hello :)

C'est pour cela qu'il faut bien maitriser le Stage.align

Si tu es en :

Stage.align = "TL" (top left)

ou

Stage.align = "" (center)

et bien c'est pas du tout la même chose :)
Du coup faut se méfier que pour avoir la taille de la fenêtre qui
contient le SWF il faut utiliser Stage.width mais selon l'alignement et
aussi la propriété Stage.scaleMode = "noScale" .. tu auras pas les même
résultat et il faut s'adapter en fonction de cela...

Juste un détail.. au lancement de l'animation si tu tapes au tout début :
var STAGE_WIDTH = Stage.width ;
var STAGE_HEIGHT = Stage.height ;

et bien normalement ces 2 variables garderont la taille initiale de ton
animation avant qu'elle se redimensionne et que la classe Stage perde
ces valeurs ;)

EKA+ :)
Avatar
estampida
ça me semblait tellement évident que je n'ai pas pensé que c'était ça son
problème...lol

"m-e-" wrote in message
news:dnc86e$ibh$

"Seb" a écrit dans le message de news:
dnc51c$dqt$
[...]
le resultat est le suivant en testant l'animation
premier trace => 550 c'est la bonne largeur
les traces suivant => 1266 alors la je comprend pas pourquoi ????




Parce que, sous Windows ne tout cas, le clip est redimensionné lors du
test (ctrl-entrée) pour occuper toute la place dispo ?