カテゴリー
Flash

Flash Player9 Mac版バグ ブラウザからフォーカスが外れるとマウス座標がおかしくなる

例えば、このサイトのテキストスクロール部分のように…

例えば、このサイトのテキストスクロール部分のように stage.mouseY; をもとにしている場合で

・ActionScript 3.0
・Mac OS 10.4/5
・Flash Player 9.x

この環境でflashコンテンツを操作している途中で
ブラウザ以外のアプリにフォーカスが移ったら(デスクトップをクリックする など)
stage.mouseY の値が -90000とか、適当なおかしな値が返ってきます。

上記以外の他の環境では発生しません。

確認していませんが、状況から判断するとFlashPlayerの環境依存したバグだと思われます。

対応策は

if (stage.mouseY >= 0 && stage.mouseY 

当たり前の方法しかないのですが、ステージの上下よりもデカい値がきたら無視 とします。
これによって他の環境でバグが出ることはありません。

返ってくる値に一貫性がないので、なんとも防ぎようがないのですが、経験値としては3000以上か-2500以下が返ってくるようです。

(kani君ありがとう)