PDA

Volledige versie bekijken : Stage.width en Stage.height


1337p00p
%Europe/Berlin %496 %2006, 12:55
Beste flashfocusfriends,

Een klein vraagje....
De stage width en height is ingesteld op 550 x 400 px bij Modify > Document...

Echter als ik op frame 1 de volgende action zet
trace(Stage.width);
trace(Stage.height);
Krijg ik in het tracevenster de getallen: 546, 396

De ingestelde width -4 en de ingestelde heigth -4 dus.

Why?

ninetynine
%Europe/Berlin %497 %2006, 12:56
dan klopt er ergens iets niet :)
(probeer eens een nieuw document en alleen die code
werkt hetdan ?

Emveedee
%Europe/Berlin %498 %2006, 12:58
Bij mij traced ie gewoon 550 en 400 hoor ..

1337p00p
%Europe/Berlin %503 %2006, 13:05
Ook in een leeg document, met diezelfde actions op frame 1, krijg ik die getallen te zien.
Ook als ik de stage width x height verander, krijg ik het -4effect

Ik gebruik Flash MX 2004 btw, alhoewel ik betwijfel dat dit er wat mee te maken heeft...

Ik heb nu een movieclip op de stage gezet met de instancenaam: een_mc
Op frame 1 de volgende actie gezet:
trace(een_mc._width);
trace(een_mc._height);
Hier krijg ik wel de goede width x height

1337p00p
%Europe/Berlin %516 %2006, 13:23
very very weird

ninetynine
%Europe/Berlin %518 %2006, 13:26
kijk anders eens in je publish settings, misschien is daar iets mis ?

1337p00p
%Europe/Berlin %527 %2006, 13:38
Dat was wel een goed idee, ik had bij tabblad Flash-> Version: FlashPlayer 6 ingesteld (hoger kan niet bij mijn versie van Flash)
Maar toen ik het eentje lager zette kreeg ik hetzelfde effect, nog eentje lager gaf de text "undefined"
Ik denk dat het gewoon tijd wordt voor flash 8 Prof

ninetynine
%Europe/Berlin %528 %2006, 13:41
:D :p groot gelijk :)

Roenes
%Europe/Berlin %531 %2006, 13:45
Dit is niets 'raars' maar een algemeen bekend probleem. Het is bekend dat Stage.height en Stage.width afwijkende getallen teruggeeft als je het test in de flash omgeving. Als je de swf los test in de flashplayer of in de browser dan werkt het wel goed. In flash zelf kun je dus hele rare getallen krijgen. :)

Waar dat precies aan ligt weet ik niet, maar als je dit gebruikt dan moet je dus gewoon ff los je swf testen. Ik heb namelijk ook wel eens 1200 terug gekregen als ik Stage.width gebruikte terwijl mijn width maar 300 of zoiets was.. :)

ninetynine
%Europe/Berlin %541 %2006, 13:59
met flash 8 heb je dat niet meer zkr ? (bij mij traced ie in ieder geval juist)

Roenes
%Europe/Berlin %602 %2006, 15:28
met flash 8 heb je dat niet meer zkr ? (bij mij traced ie in ieder geval juist)Ik weet eerlijk gezegd niet of dat probleem ondertussen is opgelost. Ik weet dus wel dat in FMX dat probleem zich voordeed en volgens mij ook nog wel in FMX 2004. Maar of MM het probleem heeft aangepakt weet ik niet, dat zou ik moeten opzoeken.

Maar als je vreemde waardes krijgt of vreemde situaties waarbij je die 2 waardes gebruikt, dan weet je dat je even buiten flash moet testen :)

Lukaso
%Europe/Berlin %614 %2006, 15:45
Dat gebeurt alleen in de flashomgeving? is dat niet een beetje belachelijk(slecht)?

ik werk ook weleens met fullbrowser flash, en mijn stage.onresize listeners werken in de flashomgeving ook altijd slecht, erg storend imo.

1337p00p
%Europe/Berlin %730 %2006, 18:31
In ieder geval fijn om te weten dat het niet aan mij ligt :P

Bedankt voor de tip Roenes!

Lukaso zegt dat hij hier ook vaker problemen mee heeft. En Lukaso gebruikt Flash8 Prof.
Betekend dat dat in Flash 8 Pro dit probleem nog niet opgelost is?

1337p00p
%Europe/Berlin %800 %2006, 20:12
'allo?

Ea.Z
%Europe/Berlin %808 %2006, 20:24
dat is geen probleem:p
dat is gewoon goed werkend actionscript

test het nu eens zo
(als je Flash 8 gebruikt)
stel je "test movie" in op "open in new window" of zoiets
dan zullen je getallen direct kloppen.
(andere versie van flash die de trace-functie ondersteunt)
new flash doc
twee dynamisch txtvakken op de stage
de een noem je 'breedte' en de ander 'hoogte' (instantie namen!:p)
dan je as

breedte.text = Stage.width;
hoogte.text = Stage.height;
//corrigeer me als ik fout zit, qua syntax. Is al wa geleden dak nog flash geopend heb

run je swf,
en open hem dan vanuit je windows explorer (nu krijg je hem in een venstertje)
op dat moment worden de juiste afmetingen gebruikt.

als je dat probleem nog hebt, is er iets heel erg mis aan je pc;)
de fout ivm de stagebreedte in flashOmgeving is geen fout..
even toelichten
als je een test movie doet, krijg je een movie in je gehele flash programma
dus de stage is dan (bijna) zo groot als je venster waarin je werkt
dus kan je stage zowel wat kleiner zijn dan de door jouw gegeven afmetingen, of stukken groter;)
daarom gebruik ik in zulke gevallen de 'test movie in new window' optie;)

als je het nog niet verstaat zal ik wat screenshots uppen;)