admin管理员组

文章数量:1516870

最近上班没事,折腾下DirectDraw,实现简单的动画,其实就是贴图。思想其实挺简单,就是在几个Surface中倒来倒去的。当然,在全屏模式和窗口模式下是有所区别的。

DirectDraw程序,必须先创建一个LPDIRECTDRAW7,这可以通过DirectDrawCreateEx来创建。

LPDIRECTDRAW7 m_pDD;
LPDIRECTDRAWSURFACE7 m_pFrontSurface;
LPDIRECTDRAWSURFACE7 m_pBgSurface;
LPDIRECTDRAWSURFACE7 m_pCarSurface;

HRESULT hRet = 0;

hRet = DirectDrawCreateEx(NULL, (VOID**)&m_pDD, IID_IDirectDraw7, NULL);

if (hRet != DD_OK)
{
ASSERT(FALSE);

return hRet;
}

注意对函数调用返回值的判断。DD_OK为成功。然后设置控制级别。可通过IDIRECTDRAW接口的SetCooperativeLevel来设置。

hRet = m_pDD->SetCooperativeLe

本文标签: 窗口模式动画编程