トップページ > 記事閲覧
マウスのクリック履歴を取得
名前:さと 日時: 2014/11/10 22:14

管理人様、お世話になっています。 リファレンスのマウス入力関連関数にある以下の関数なのですが、 int GetMouseInputLog( int *Button, int *ClickX, int *ClickY, int LogDelete); 1フレームごとにログを取っているのを、たとえば5ミリ秒ごとなどは可能でしょうか? 1フレームで3〜4回分が取り込めると、座標を連続させた線が滑らかになりそうなのです。 マウスのクリック履歴の取得と、ログの情報を削除の方法はこのままで問題ありません。
メンテ

Page: 1 |

Re: マウスのクリック履歴を取得 ( No.1 )
名前:管理人 日時:2014/11/11 01:59

GetMouseInputLog はマウスのボタンが押されたときの座標を記録しておき、それを後から 取得するためのもので、毎フレームのマウスカーソルの座標を取得するためのものではありません > 1フレームごとにログを取っているのを、たとえば5ミリ秒ごとなどは可能でしょうか? > 1フレームで3〜4回分が取り込めると、座標を連続させた線が滑らかになりそうなのです。 SetWaitVSyncFlag( FALSE ) ; を実行して ScreenFlip の際に垂直同期信号を待たないように すれば1フレームの時間は自由になりますので、GetNowCount などを使用したタイマー同期で 1フレームを5ミリ秒にして毎フレーム GetMousPoint でマウスの座標を取得すれば、 1フレーム16.6666ミリ秒だった場合に比べて3倍弱の回数で座標を取得することができます ただ、こちらのマウスに関するページを拝見する限りでは http://wikiwiki.jp/fpag/?MOUSE%20TIPS#tdca1c31 一般的なUSBマウスの情報更新頻度は125Hzとのことなので、1フレームを8ミリ秒以下にしても 一部の高性能なゲーミングマウス以外では意味が無いようです
メンテ
Re: マウスのクリック履歴を取得 ( No.2 )
名前:さと(解決) 日時:2016/06/05 10:17

ありがとうございました、解決の記入を忘れていました; 60FPSでマウス座標を線で繋いでみたところ思ったより滑らかに描けました。 お手数をおかけいたしました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存