有关directinput的问题

antiMight antiMight 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我刚学directx,接触到键盘编程,遇到如下问题。真心求解答
void Game_Run(HWND hwnd)
{
if(!d3ddev) return;
char keys[256];
dinputdev->GetDeviceState(sizeof(keys),(LPVOID)&keys);
if(keys[DIK_ESCAPE] & 0x80)
PostMessage(hwnd,WM_DESTROY,0,0);
if(keys[DIK_LEFT] & 0x80)
MessageBox(hwnd,"left key is pressed","test",MB_OK);
if(keys[DIK_RIGHT] & 0x80)
MessageBox(hwnd,"right key is pressed","test",MB_OK);
if(keys[DIK_UP] & 0x80)
MessageBox(hwnd,"up key is pressed","test",MB_OK);
if(keys[DIK_DOWN] & 0x80)
MessageBox(hwnd,"down key is pressed","test",MB_OK);
}
winmain中消息循环是这样的
MSG message;
while(!gameover)
{
if(PeekMessage(&message,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
Game_Run(window);
}
Game_End(window);
return message.wParam;
问题是,我运行后,一按方向键,点确定就弹出程序,不应该这样吧?不是应该继续运行才对吗?
...全文
评论 2
收藏 已收藏
分享
返回顶部
antiMight
Windows客户端使用 18,138 成员 13,240 内容