-
GetAsyncKeyState....
Hi
I am using GetAsyncKeyState to move players around in my game(same keyboard), but whenever one presses a key, the other players movement is interfered....how can I prevent this??
Code:
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000 ? 1 : 0)
#define KEYUP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000 ? 0 : 1)
if(GetAsyncKeyState(VK_LEFT)){
// Move player left
player.x--;
SetPixel(hdc,(player.x)+1, (player.y),RGB(255,255,255));
SetPixel(hdc,player.x-=2, player.y,player.color);
}
if(GetAsyncKeyState(VK_RIGHT)){
// Move player right
player.x++;
SetPixel(hdc,(player.x)-1, (player.y),RGB(255,255,255));
SetPixel(hdc,player.x+=2, player.y,player.color);
}
if(GetAsyncKeyState(VK_UP)){
// Move player up
player.y--;
SetPixel(hdc,(player.x), (player.y)+1,RGB(255,255,255));
SetPixel(hdc,player.x, player.y-=2,player.color);
if(player.y<=0){
player.y = 500;
SetPixel(hdc,(player.x), (0),RGB(255,255,255));
}
}
if(GetAsyncKeyState(VK_DOWN)){
// Move player down
player.y++;
SetPixel(hdc,(player.x), (player.y)-1,RGB(255,255,255));
SetPixel(hdc,player.x, player.y+=2,player.color);
}
if(GetAsyncKeyState(0x41)){
// Move player2 left
player2.x--;
SetPixel(hdc,(player2.x)+1, (player2.y),RGB(255,255,255));
SetPixel(hdc,player2.x-=2, player2.y,player2.color);
}
if(GetAsyncKeyState(0x44)){
// Move player2 right
player2.x++;
SetPixel(hdc,(player2.x)-1, (player2.y),RGB(255,255,255));
SetPixel(hdc,player2.x+=2, player2.y,player2.color);
}
if(GetAsyncKeyState(0x57)){
// Move player2 up
player2.y--;
SetPixel(hdc,(player2.x), (player2.y)+1,RGB(255,255,255));
SetPixel(hdc,player2.x, player2.y-=2,player2.color);
if(player2.y<=0){
player2.y = 500;
SetPixel(hdc,(player2.x), (0),RGB(255,255,255));
}
}
if(GetAsyncKeyState(0x53)){
// Move player2 down
player2.y++;
SetPixel(hdc,(player2.x), (player2.y)-1,RGB(255,255,255));
SetPixel(hdc,player2.x, player2.y+=2,player2.color);
}
-
Re: GetAsyncKeyState....
What do you mean by interfered. An example would help.
ØØ
-
Re: GetAsyncKeyState....
fx. when one player is holding down the left key and player two presses the w key both players stop moving.