IEでstage.stageWidthとstageHeightの値が0になる

| コメント(0) | トラックバック(1)
Flashで、複数のインスタンスを左右にスクロールさせて、ステージの左端まできた時に(インスタンスのx座標 < -インスタンスの横幅)インスタンスを右端に移動、ステージの右端まできた時に(インスタンスのx座標 > stage.stageWidth)インスタンスを左端に移動するようにActionScriptを書いたのだが、IEで確認したところ動かしているインスタンスが点滅する。

これははまった…

調べまくったら、何とか納得できる答えがでてきた。

どうやらIEでは、2回目以降のswf読込時には、つまりキャッシュがある状態ではstage.stageWidthやstage.stageHeight の値が 0 になるらしい。

上記の条件だと、(インスタンスのx座標 > stage.stageWidth)が(インスタンスのx座標 > 0)になる訳で、インスタンスがステージに表示されてる場合は常に左の最後部に飛ばされてたってことだ。
こりゃ点滅するわ!!!

stage.stageWidthや、stage.stageHeightなどを取得しているところを、直接値を指定してあげたら改善した。

SWFObjectなどを使えばこんな問題は発生しないのだろうか…
こんど検証してみよう。

トラックバック(1)

トラックバックURL: http://blog.apri-cot.com/mt-tb.cgi/62

ああ・・・。IEよ、またお前なのね。コトのきっかけになったのはクライアントからの swfを埋め込んだhtmlページについて、サーバにアップしてIEでアクセ... 続きを読む

コメントする

2011年10月

            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          

このブログ記事について

このページは、tachが2010年3月23日 22:30に書いたブログ記事です。

ひとつ前のブログ記事は「印刷用CSSで a要素の後にリンクURLを追加」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。