[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/29 12:35 / Filesize : 247 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part18 【C】



633 名前:629 mailto:sage [2008/10/09(木) 19:43:32 ]
やっぱりどうしても、実際のカーソルの位置と、DirectInputで求めたカーソル移動量が食い違います。
スクリーン上で1000px水平に移動させると、移動量の合計が600〜800くらいになっています。
下がそのコードなのですが、どこか間違っているところがありますか?
void MouseDevice::UpdateState()
{
HRESULT hr;
if (hr = pDevice_->Acquire(), FAILED(hr))
{
LOG_WARN("IDirectInputDevice8::Acquire 非アクティブになった?");
return;
}

DIMOUSESTATE mouseState;
if (hr = pDevice_->GetDeviceState(sizeof(mouseState), &mouseState), FAILED(hr))
{
LOG_ERROR("IDirectInput8::GetDeviceState");
return;
}

cursorPos_.x = clamp(cursorPos_.x + mouseState.lX, 0L, 1279L);
cursorPos_.y = clamp(cursorPos_.y + mouseState.lY, 0L, 1023L);

//SetCursorPos(cursorPos_.x, cursorPos_.y);

POINT pt;
GetCursorPos(&pt);

std::stringstream ss;
ss << "MOUSE " << cursorPos_.x << "," << cursorPos_.y << " (" << pt.x << "," << pt.y << ")";
LOG_INFO(ss.str().c_str());
}







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef