— boreal-kiss.com

MacのFirefox 3でstage.stageWidthなどが取得できない

ずいぶん前(忘れた)から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

色々メモ

  1. Constructor内でstage.StageWidth等が取得できていない。Constructor外では取得できている。
  2. Fkex SDK 3.2ではConstructor内でも取得できた!!!
  3. Firefox 3だと取得したステージサイズが微妙に小さい。(550, 400)のはずが(500, 364)
  4. 良い記事発見。

    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に正しい値がセットされている (未確認)

    » Event.RESIZEテストムービー

1 comment
  1. foo says: 2008年12月11日11:00 AM

    Flex ですよね?EnterFrame が走るまでは stageWidth/stageHeight の値は初期化されてないような気がします。

Submit comment