|
各位大拿好: 我新接触directdraw问个问题, Flip()函数执行的时候,是把从显示表面的内容copy到主显示表面,还是两个显示表面内容互换。
我写了一个测试程序,从显示表面里画了一个笑脸,
if (FAILED(lpddsback->Lock(NULL,&ddsd,
DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR,
NULL)))
return(0);
Blit_Clipped(happy_faces[0].x,
happy_faces[0].y,
8,8,
happy_bitmap,
(UCHAR *)ddsd.lpSurface,
ddsd.lPitch);
if (FAILED(lpddsback->Unlock(NULL)))
然后 while (FAILED(lpddsprimary->Flip(NULL, DDFLIP_WAIT)));
主界面变成一个笑脸
然后第二个循环我再执行一次 while (FAILED(lpddsprimary->Flip(NULL, DDFLIP_WAIT))); 画面没有什么变化。 不像我想的那样变成空白界面,主表面还是一个笑脸,这个是为什么呢 |
|