Code:
Somewhere in the beginning:
#define KEY_UP 0
#define KEY_DOWN 1
#define KEY_LEFT 2
#define KEY_RIGHT 3
bool KeyDown[4] = {false};
Code:
Message handler:
case WM_KEYDOWN:
switch(wParam)
{
case VK_UP:
KeyDown[KEY_UP] = true;
break;
case VK_DOWN:
KeyDown[KEY_DOWN] = true;
break;
case VK_LEFT:
KeyDown[KEY_LEFT] = true;
break;
case VK_RIGHT:
KeyDown[KEY_RIGHT] = true;
break;
}
break;
case WM_KEYUP:
switch(wParam)
{
case VK_UP:
KeyDown[KEY_UP] = false;
break;
case VK_DOWN:
KeyDown[KEY_DOWN] = false;
break;
case VK_LEFT:
KeyDown[KEY_LEFT] = false;
break;
case VK_RIGHT:
KeyDown[KEY_RIGHT] = false;
break;
}
break;
Code:
Somewhere in your game loop
if(KeyDown[KEY_UP]) Player.Ypos--;
if(KeyDown[KEY_DOWN]) Player.Ypos++;
if(KeyDown[KEY_LEFT]) Player.Xpos--;
if(KeyDown[KEY_RIGHT]) Player.Xpos++;