[求助]一个关于Direct的问题,麻烦各位高手们帮帮我啊~~~~~~~
我的Direct动画程序在最小化后前3帧部分画面出现了花屏:
我的Flip()函数:
//******************************************************************
//换页
void Flip(void)
{
HRESULT ddrval;
while( 1 )
{
ddrval = lpDDSPrimary->Flip( NULL, 0 );
if( ddrval == DD_OK )
{
break;
}
if( ddrval == DDERR_SURFACELOST )
{
ddrval = RestoreAll();//恢复所有
if( ddrval != DD_OK )
{
return;
}
}
if( ddrval != DDERR_WASSTILLDRAWING )
{
return;
}
}
}
//******************************************************************
//恢复所有页面
HRESULT RestoreAll()
{
HRESULT ddrval;
ddrval=lpDDSPrimary->Restore();
ddrval=lpDDSBack->Restore();
for(int i=0;i<=bmpmax;i++)
{
if(lpDDSPic[i]!=NULL)
{
ddrval=lpDDSPic[i]->Restore();
}
}
return ddrval;
}
麻烦各位大侠高手们帮帮我啊~~~~~~~
这是怎么回事啊?????
希望点开了这个帖子的朋友多少来说两句啊,我悉心听取大家的方法^o^
[此贴子已经被作者于2007-7-27 19:31:12编辑过]