- PR -

MouseMotionListenerのイベント発生の遅らせについて

投稿者投稿内容
ranran
会議室デビュー日: 2005/01/09
投稿数: 18
投稿日時: 2008-04-02 16:06
お世話になります。
MouseMotionListenerにおいて、マウスが1ピクセル置きに
イベントが発生すると思いますが、
それを遅らせるには、何か簡単な方法があるでしょうか
(例えば、5ピクセル置きにイベントが発生するとか)
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2008-04-02 16:11
引用:

ranranさんの書き込み (2008-04-02 16:06) より:
MouseMotionListenerにおいて、マウスが1ピクセル置きに
イベントが発生すると思いますが、



そもそもそんな動きをしないと思いますが。
イベントの発生するタイミングもばらばらだし、
当然、前回発生したイベントから1ピクセル以上動いていることもあります。
ranran
会議室デビュー日: 2005/01/09
投稿数: 18
投稿日時: 2008-04-02 16:25
ご返事ありがとうございます。

つまり、人為的に遅らせて、数個、数十個のピクセルでイベントを発生させたいです。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2008-04-02 16:41
引用:

ranranさんの書き込み (2008-04-02 16:25) より:
ご返事ありがとうございます。

つまり、人為的に遅らせて、数個、数十個のピクセルでイベントを発生させたいです。


あなたは、マウスを決まった速度でしか動かす事ができないのでしょうか?

(まぁ、世の中には色々な人がいますからねぇ・・・)
ranran
会議室デビュー日: 2005/01/09
投稿数: 18
投稿日時: 2008-04-02 16:55
マウスの速度に関係なく、動いたピクセル分だけイベントが発生しているようです
(距離によって発生します)。
(反応速度によっては1ピクセル以上になる可能性もありますが。。。)
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-04-02 18:06
引用:

ranranさんの書き込み (2008-04-02 16:06) より:
(例えば、5ピクセル置きにイベントが発生するとか)


それでしたら、カウンターを用意して、イベントごとにカウンターを +1 して、5回に1回だけやりたい処理をするようにします。
でも、普通のアプリケーションでは、イベントの数を数えるのではなく、時間で区切ることがほとんどでしょう。タイマーを使うことになりますが、タイマーの使い方に慣れるまでは結構大変です。
ranran
会議室デビュー日: 2005/01/09
投稿数: 18
投稿日時: 2008-04-02 18:52
アドバイス、ありがとうございます。
それ以外のもっとスマートの方法はないでしょうか。
というのは、できるだけイベントの数を減らしたいのは本音です。
イベントではなく、ポーリングを使ってマウスの情報を調べるのはもう一つのやり方ですね。
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2008-04-02 19:31
まあ、それは、空(そら)を動いていく太陽がふつうに連続的に見えるのではなく、1.5度おきに見えたらいいなという願望と同じですから、むしろ、あなたのアプリケーションレベルの要求を説明してみてください。そのほうが私もみなさんも、有益なアドバイスができるでしょう。
(マウスイベントは物理的なハードウェア割り込みだから、マウスを上手に“故障”させたら、あなたの願望は実現するかもしれない(笑)。太陽の件は、自分の目を上手に“負傷“したら、となるかな。)

スキルアップ/キャリアアップ(JOB@IT)