メイン ActionScript 3.0 特設会議室 表示領域全体からのマウスアウトの検出方法 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
HogeO | Åê¹ÆNo.41286 投稿日時: 2009-1-22 21:26 |
新米 居住地: 投稿: 7
使用環境:
|
表示領域全体からのマウスアウトの検出方法 SWFの表示領域全体からマウスが離れた場合、
警告を表示しようと思っています。 そこでメインのスプライトのステージのマウスイベントを 拾おうと思ったのですが、うまく取得できません。 以下のAPIを使っています。 ハンドリングした関数いずれも呼ばれませんでした。 mainStage.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mainStage.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); mainStage.addEventListener(MouseEvent.ROLL_OVER, onRollOver); mainStage.addEventListener(MouseEvent.ROLL_OUT, onRollOut); mainStageはドキュメントクラスの持つstageです。 ひょっとして別の取得方法があるのでしょうか? |
永井勝則 | Åê¹ÆNo.41295 投稿日時: 2009-1-23 14:40 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 表示領域全体からのマウスアウトの検出方法 StageクラスにmouseLeaveというイベントがあります。
|
HogeO | Åê¹ÆNo.41297 投稿日時: 2009-1-23 15:43 |
新米 居住地: 投稿: 7
使用環境:
|
Re: 表示領域全体からのマウスアウトの検出方法 回答ありがとうございます。
試してみたところ検出することが出来ました。 (Eventクラスにあるとは盲点でした^^;) また何かあれば、よろしくお願いいたします。 |
永井勝則 | Åê¹ÆNo.41299 投稿日時: 2009-1-23 16:52 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 表示領域全体からのマウスアウトの検出方法 EventクラスにMOUSE_LEAVEがあるのは確かに”盲点”ですが、
問題は知っているかどうかではなく、調べることができるかどうかにあります。 mouseLeaveイベントがStageクラスにあるなどということはそれを考えた人くらいしか知らないわけで、 大方の人は調べることになります。 で、オンラインヘルプなどで、マウスがステージから出たことはMouseEventで何とかなるだろう、とめぼしをつけ、 MouseEventクラスを調べます。 すると[継承されるパブリック定数を表示]リンクをクリックした状態で、MOUSE_LEAVEという定数がEventクラスにあるらしいことが分かります。 そこでこのリンクをクリックすると、EventクラスのMOUSE_LEAVE定数に飛びます。 するとその項の[関連項目]に[flash.display.Stage.mouseLeave]リンクがあり、 どうやらStageにmouseLeaveなにがしというのがあるらしい ことが分かります。 このリンクをクリックするとStageクラスのmouseLeaveイベントに飛びます。 するとどうやら今回の質問の答えの手がかりになりそうなことが書かれているので、実際に試してみる、 ということになります。 多くの答えやヒントはこのようにヘルプにあるのですが、なにぶん広大なので、 リンクをたどるうちに、何を調べようとしていたのかを忘れてしまいそうになります。 ポイントは[継承されるXXを表示]リンクはクリックすることと、 迷子にならないように、自分は今どこにいるかを自覚しながら調べることです。 Flashのヘルプでもオンラインヘルプでもよいので、一時的なしおりのようなものがあったら便利です。
|
ぷらぷら | Åê¹ÆNo.45297 投稿日時: 2010-7-8 17:08 |
新米 居住地: 静岡 投稿: 8
使用環境:
10.6.4 CS3/CS4 ActionScript v3 |
Re: 表示領域全体からのマウスアウトの検出方法 私もこちらの記事を参考にスクリプトを組ませて頂きました・・・が、
私が作業している環境・・・ Mac OSX10.6.4 + Flash CS3 / CS4 では、stageの"mouseLeave"イベントが発生せず、マウスが外に出たことが検出できませんでした。 そこで試しに、winXP sp3 + Flash CS3で同じflaファイルをパブリッシュしてテストしたところ、こちらでは全く正しく動作しました。 OSX側は、何かファイルが壊れてこのような現象が発生しているのでしょうか? 正しく動作させるために対策方法はありますでしょうか? よろしく教えてください。 |
vader | Åê¹ÆNo.45298 投稿日時: 2010-7-9 1:39 |
常連 居住地: 東京 投稿: 76
使用環境:
MacOS10.8,FlashCS6 |
Re: 表示領域全体からのマウスアウトの検出方法 kinPLAさん、こんにちわ。
Mac OS10.6.3 Flash CS4 で確認しましたが、確かにパブリッシュプレビューではMOUSE_LEAVEが 反応しないですね。 ただ、ブラウザでプレビューするとしっかりと動作しているようです。 Safari4 Firefox3.5 で確認しました。
以上、頑張ってください。 ///// 追記 ///// 上記コード内のjavascriptのaとsの間の半角スペースは、消して試して下さい。 |
ぷらぷら | Åê¹ÆNo.45300 投稿日時: 2010-7-9 13:25 |
新米 居住地: 静岡 投稿: 8
使用環境:
10.6.4 CS3/CS4 ActionScript v3 |
Re: 表示領域全体からのマウスアウトの検出方法 ご回答ありがとうございます。
なるほど、私はSWFファイルをパブリッシュしただけで、 さらに深く調べませんでした。 初心者にとって、ここはとても心強いヘルプです。 まだお礼しかできませんが、これからもよろしくお願いします。 本当にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |