windows gdi 位图问题
我在做一个小游戏,遇到个问题,就是我在按下有方向键的的时候,背景至移动了一次,按道理。只要我按方向键,他都会移动的,可现在只有第一次会产生位移,第二次就没反映了,长按也不行,下面是我的代码请高手指点
触发按键消息
case WM_KEYDOWN:
switch(wParam)
{
case VK_RIGHT:
keydown_right(hWnd, hBmp_BackGround);
break;
}
显示移动时的背景
void keydown_right(HWND hWnd, HBITMAP hBmp)
{
HDC hdcDest, hdcSrc;
HBITMAP hOldBmp;
int i;
hdcDest= GetDC(hWnd);
hdcSrc = CreateCompatibleDC( hdcDest );
hOldBmp = (HBITMAP)SelectObject( hdcSrc, hBmp );
x_left_prev = x_left_prev + DraMoveGap;
x_left_curr = x_left_prev;
x_right_prev = x_right_prev + DraMoveGap;
x_right_curr = x_right_prev;
StretchBlt(hdcDest, 0, 0, WndWidth, WndHeight, hdcSrc, x_left_curr, 0, x_left_curr +WndWidth , 600, SRCCOPY);
DeleteDC( hdcDest );
ReleaseDC (hWnd, hdcDest) ;
}
还望各位不吝赐教