| Name |
れいにゃ |
| Date |
2008年04月01日 (火) 22時12分 |
| Message |
ASは初心者なので、
どなたか分かる方がいらっしゃっいましたら、
教えてほしいです。
Flash8です。
マウスがメニューからアウトオーバーになったとき、
徐々に消えていくようなものを作っていたのですが、
http://www.kaeko.jp/kenkenvivi/menu_1.html
メニューに対して上からロールオーバーさせると、
プルアップメニューが反応しません;
メニューに横から進入した場合はちゃんと反応しますし、
上記不具合は最初の読み込んだときだけのような感じです。
どうも_visibleをfalseにしているものに対するHitTestがtrueになっているようなのですが、
なぜそのようになってしまうのかが分かりません。
まったく見当はずれの場所で悩んでいるのかもしれませんが、
自分ではまったく検討がつきません。
どなたか教えていただけましたら幸いです。
ちなみにソースです。
http://www.kaeko.jp/kenkenvivi/menu_1.fla |
Response
01
|
| 2008年04月02日
(水) 19時10分> ロイド |
|
_visibleは非表示にするだけでムービークリップ自体はその場に存在します。
フォーカスやクリックは出来なくなりますが、スクリプトでアクセスは出来ます。
hitTestを使用する必要もないと思いますが・・^^;
hitTestを使用する場合はこんな感じにすると非表示の時はhitTestの中身が無効になります。
例:(fla内スクリプトの一部)
修正前 if (_root.main_menu.menu_a.hitTest(_root._xmouse, _root._ymouse,
true)) {
修正後 if (_root.main_menu.menu_a.hitTest(_root._xmouse, _root._ymouse,
true)&&_root.main_menu.menu_a._visible) {
_______________________________
_root.main_menu.menu_a にマウスがhitしていて、かつ表示されていたのなら実行。
というような内容です。
他にも方法はありますがひとつの例です。
|
|
Response
02
|
| 2008年04月02日
(水) 19時14分> ロイド |
|
補足
この例の場合
_root.main_menu.menu_a._visible = false;
となった場合hitTestが無効になり反応しなくなります。
|
|
Response
03
|
| 2008年04月03日
(木) 17時47分> れいにゃ |
|
ロイドさんご丁寧にありがとうございます。
考えていた動作になりました。
最初はHitTest使わずに、ボタンシンボルなどで作っていたのですが、
ボタン同士の機能が重複してうまくコントロールできなくなってしまったので、
マウスオーバーの状態をHitTestで判断するという手法にチャレンジしていました。
なかなか思い通りには行かないのですが、
「他にも方法はあります」というのは目からウロコです。
行き詰ったら別の角度から考えてみようかと思います。
今後の参考にさせていただきます。
ありがとうございました。
|
|