1

私は現在、マウスがいつ左または右にドラッグされているかを知る必要があるプロジェクトに取り組んでいます。

この情報でやりたいのは、マウスをドラッグした方法に応じて、オブジェクトを3D空間(OpenGL / Win32を使用)で左または右にドラッグすることです。

問題は、マウスがどちらの方向にドラッグされているかを判断する方法がわからないことです。

前のx座標を見つけて、現在のx座標から差し引いてみましたが、前のx座標を決定する方法がわかりません。

誰か助けてくれませんか?

PS現在のxマウスの位置がLOWORD(lParam)で見つかることはすでに知っていますが、前のxマウスの位置を特定する方法がわかりません。お時間をいただきありがとうございます。)

4

2 に答える 2

3

現在のマウス位置を「最後の」マウス位置として保存し、マウス位置を2回更新した後、減算することで自分で行うことができます。

onMouseMove(mouseX, mouseY):
    if previousX and previousY are set:
        deltaX = previousX - mouseX
        deltaY = previousY - mouseY
        actOnDrag(deltaX, deltaY)

    previousX = mouseX
    previousY = mouseY

previousXとをクレイジーなセンチネル値 (-1 など) に設定して、それらが設定previousYされたことがあるかどうかを判断することができます。

于 2012-09-30T01:57:38.543 に答える