|
|
本人纯新手,某教程里dinput的判断按键代码是这样的:
BOOL IsKeyPressed(int key)
{
HRESULT hr;
hr=pIDirectKeyboardDevice->GetDeviceState(sizeof(keyBuffer),(LPVOID)keyBuffer);
if(hr==DIERR_INPUTLOST)
{
pIDirectKeyboardDevice->Acquire(); //重新获取键盘使用权
hr=pIDirectKeyboardDevice->GetDeviceState(sizeof(keyBuffer),(LPVOID)keyBuffer);
if(FAILED(hr)) return FALSE;
}
//判断用户按键是否为key键
if(keyBuffer[key]&0x80)
{
return TRUE;
}
return FALSE;
}
我在一个主循环中判断是否按下A键,按下了就交换两个图片的位置,可是我按了一下A键(时间很短)结果两个图片交换了3、4下。我想是不是这个函数只判断按下,那弹起又如何判断呢?还望各位前辈不吝赐教! |
|