フォーラム一覧   -   トピック一覧
   超ビギナー
     SWFLoaderでswfファイルを読み込むとマウスカーソルが消失する
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
t_nakano
投稿日時: 2010-2-22 20:20
一見さん
登録日: 2010-2-21
居住地:
投稿: 1
SWFLoaderでswfファイルを読み込むとマウスカーソルが消失する
初めて書き込ませていただきます。

具体的な解決方法というよりは、根本的な原因を調査しています。


SWFLoaderを用いてFLEXで作成したswfファイルを読み込もうとしているのですが、swfファイルを読み込んだ後に、画面の左端にマウスカーソルを乗せると、マウスカーソルが消失するという症状が起こります。

消失したマウスカーソルは画面(ブラウザ)の外に移動させると復活しますが、画面内をぐるぐる移動させても再び現れたりずっと現れなかったりとまちまちです。

左端というのはウィンドウのぎりぎり縁のあたりですが(Windowsだとマウスカーソルが←→みたいになるぎりぎり直前)、呼び出し元のMXMLではマウスカーソルを消すようなコンポーネントは一切実装していません。

swfLoader.load()を実行するまでは上記の症状は起こりません。

呼び出すswfファイルはWeblogicサーバにデプロイしているものです。

呼び出すswfファイルのFLEXのバージョンは3.0で、呼び出し元のFLEXのバージョンは3.2ですが、SWFLoaderのloadForCompatibilityプロパティをtrueにしてあります。

mouseMoveイベントを取得し、mouse.show()を行うことによって回避できなくもないようですが、根本的な原因解明には至っていない状況です。


何か不足する情報などあればお申し付けください。

同様の症状が見られた方、原因にお心当たりのある方、どんなささいな情報でもかまいませんので、情報提供してくださればと思います。宜しくお願いいたします。

okazaki
投稿日時: 2010-3-2 0:10
一見さん
登録日: 2010-2-26
居住地:
投稿: 1
Re: SWFLoaderでswfファイルを読み込むとマウスカーソルが消失する
条件が若干が異なるので的を外しているかもしれませんが、おっしゃる内容に似ている現象に遭遇したことがあるので、コメントさせていただきます。

Flash CS4で作成したswfからFlex SDK 3.2.0で作成したswfを読み込んだところ、マウスカーソルの形状が変わるタイミングで、マウスカーソルが消えるという現象が発生しました。再現度は100%でした。

デバッグ版のFlashPlayerで確認したところ、CursorManager.setCursor()関数を呼び出したあたりで例外が発生して落ちていました。ちょっとうろ覚えですが確か関数内部でSystemManagerのstageにアクセスしようとするも、stageがnullでNullPointerExceptionとなっていた気がします。

デバッグ版FlashPlayerで動作させて、マウスポインタが消える瞬間に例外が出ているようなら、この現象ではないかと思います。

ちなみにFlashからFlex SDK 3.2.0で作ったswfを読み込むと、CursorManagerだけでなく、PopUpManagerも正しく動作しませんでした。ポップアップを開こうとすると、同様にSystemManager.stageにアクセスするところで例外が出ます。

Flex SDK内の問題っぽいので、当時は対策を諦めてしまったのですが、Flex SDK 3.3.0では、PopUpManagerが落ちる方の問題は修正されているようです。

http://bugs.adobe.com/jira/browse/SDK-18706

なので、もしかするとFlex SDK 3.3.0ではCursorManagerもつられて一緒に治っている
可能性はあるかもと思います。実際に試したわけではないので(すみません)希望的観測ですが…。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を