チケット #114 (closed enhancement: fixed)

登録: 2 年 前

最終更新: 2 年 前

SWFWheel: 一度マウスを動かすまで _item が更新されない問題

報告者: seagirl 担当者: nobu
優先度: major マイルストーン:
コンポーネント: SWFWheel キーワード:
関係者:

チケットの概要

ページをロードした段階で、マウスがすでにスクロールしたいターゲットに乗っている場合に、 マウスを動かさないですぐにホイールスクロールしようとしても動きません。

現在の実装を見ると、MOUSE_MOVE で target になっている InteractiveObject? を _item として取得しているので、 その他の手段でも _item が更新されるようにしてみるのはいかがでしょうか?

案1: stage の MOUSE_CLICK イベントで _item = event.target する

スクロールが動かなかった時に、「フォーカスが当たってないのかな?」と考えてクリックしてみることがあるので、 クリックで _item を拾えると、マウスを動かさないでも良くなります。

案2: stage.getObjectsUnderPoint

扱いが難しくて微妙な気もしますが、ホイールイベントが発生する毎に、stage.getObjectsUnderPoint でマウス座標 にいる InteractiveObject? たちを拾ってきて、全員にホイールイベントを dispatch する。

案3: 外から _item を変えられるようにする

後で SWFWheel 利用者が好きにカスタマイズ出来るように、SWFWheel.item = target; みたいに書けるようにする。

添付ファイル

チケットの履歴

2009/10/30 16:48:10 更新者:nobu

  • ステータスnew から assigned に更新されました。

報告ありがとうございます!

この問題は SWFMacMouseWheel から引き継いでいる負の遺産で、どう対処すべきかなと考えていました。 頂いた案のうち、ニュアンスとしては 1 に近い形で解決しようと思います。 2, 3 の方法だと SWFWheel を必要としない windows での wmode=window の状態で挙動が変わってしまうかもです。

2010/07/04 03:14:54 更新者:nobu

  • ステータスassigned から closed に更新されました。
  • 解決方法fixed に更新されました。

[4027] で修正してみましたー。

方向としては stage の getObjectsUnderPoint でターゲットを見つけるようにしてみました :-)


追記/更新 #114 (SWFWheel: 一度マウスを動かすまで _item が更新されない問題)




操作