|
void init()
{
DirectDrawCreateEx(NULL(void**)&lpdd,IID_IDirectDraw7,NULL);
lpdd->SetCooperativeLevel(hWnd,DDSCL_NORMAL);
lpdd->SetDisplayMode(800,600,32,0,0);
ZeroMemory(&ddsd,sizeof(ddsd));
ddsd.dwSize=sizeof(ddsd);
ddsd.dwFlags=DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP;
ddsd.dwBackBufferCount=1;
lpdd->CreateSurface(&ddsd,&lpdds1,NULL);
ZeroMemory(&ddsd,sizeof(ddsd));
ddsd.dwSize=sizeof(ddsd);
ddsd.dwFlags=DDSD_CAPS;
ddsd.ddsCaps.dwCaps=DDSCAPS_BACKBUFFER;
lpdd->CreateSurface(&ddsd,&lpdds2,NULL);
if(GetAttachedSurface(&ddsd.ddsCaps,&lpdds2)!=DD_OK)
MessageBox(hWnd,"getattachedsurface","d",MB_OK);
ZeroMemory(&ddsd,sizeof(ddsd));
ddsd.dwSize=sizeof(ddsd);
ddsd.dwFlags=DDSD_CAPS|DDSD_WIDTH|DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps=DDSCAPS_OFFSCREENPLAIN|DDSCAPS_VIDEOMEMORY;
ddsd.dwWidth=300;
ddsd.dwHeight=300;
lpdd->CreateSurface(&ddsd,&lpddsoff,NULL);
};
每次编译0警告0错误,但程序不能运行
显示"未将对象引用设置到对象实李"
然后那个黄色的小箭头指向GetAttachedSurface(&ddsd.ddsCaps,&lpdds2).
这行
这是为什么啊
还有,我发现只要是调用LPDIRECTDRAWSURFACE7的方法,都会有这个错误
真的清大家帮帮忙了!!!!!!!!
我学习不能前进了阿!!!!!!! [em6] |
|