ずいぶん前(忘れた)からStageクラスのstageWidthとstageHeightが取得できなくて困っている。» テストムービーにアクセスすると、stage.stageWidth: 550, stage.stageHeight: 400と表示されるところが何故か
stage.stageWidth: 0 stage.stageHeight: 0
と表示される。Stageクラスのその他のプロパティは正しく取得できる。Safariも問題なく取得できる。誰か原因わかる人教えて!
環境
- Mac OSX 10.5.5 (Intel Core 2 Duo)
- Firefox 3.0.4
- Flash Player 10.0.0.591 (デバッグ機能付きのやつ)
- Flex SDK 3.1
追記2008/12/11
色々メモ
- Constructor内でstage.StageWidth等が取得できていない。Constructor外では取得できている。
- Fkex SDK 3.2ではConstructor内でも取得できた!!!
- Firefox 3だと取得したステージサイズが微妙に小さい。(550, 400)のはずが(500, 364)
-
良い記事発見。
Stage RESIZE and the stageWidth and stageHeight Bug | hubflanger.com
この記事によると(僕が確認したものはその旨を末尾に表示)、
- Mac/Firefoxの場合、Event.RESIZEが発動するまでははstage.stageWidth = 0, stage.stageHeight = 0である (確認済み)
- Win/IEの場合、Event.RESIZEが発動するまでははstage.stageWidth = 0, stage.stageHeight = 0である (未確認)
- Mac/SafariはEvent.RESIZEを発動しないし、最初からstage.stageWidth,stage.stageHeightに正しい値がセットされている (確認済み)
- Win/FirefoxもEvent.RESIZEを発動しないし、最初からstage.stageWidth,stage.stageHeightに正しい値がセットされている (未確認)