BOOL Cmfcgame1View::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message == WM_KEYUP)
{
PeekMessage(pMsg, 0, 0, 0, PM_NOREMOVE);
return true;
}
if(pMsg->message == WM_KEYDOWN)
{
if(GetKeyState('A') && GetKeyState('W'))
{
m_x -= 10;
if(m_x < 0 )
m_x = 0;
m_y -= 10;
if(m_y<0)
m_y = 0;
return true;
}
else if(GetKeyState('S') && GetKeyState('D'))
{
m_x += 10;
if(m_x > 1200 )
m_x = 1200;
m_y += 10;
if(m_y>580)
m_y = 580;
return true;
}
else
{
switch(pMsg->wParam)
{
case 'A':
{
m_x -= 10;
if(m_x < 0 )
m_x = 0;
}
break;
case 'D':
{
m_x += 10;
if(m_x>1200)
m_x = 1200;
}
break;
case 'W':
{
m_y -= 10;
if(m_y<0)
m_y = 0;
}
break;
case 'S':
{
m_y += 10;
if(m_y>580)
m_y = 580;
}
break;
default:{
return true;
}
}
}
}
return CView::PreTranslateMessage(pMsg);
}
这个代码写得不对,求老师们给予指点 就是想实现小游戏中 人物的移动,这个代码有bug人物会在窗口中乱跑 跟键盘上得响应有时正确 有时错误。。郁闷。。我已经研究2天了实在没办法了