 |
 |
Current group: microsoft.public.cn.directx
DirectDraw的初学者,请大家帮帮忙(急!)
|
|
 | | From: | Shawn | | Subject: | DirectDraw的初学者,请大家帮帮忙(急!) | | Date: | Sat, 22 Jan 2005 22:16:17 +0800 |
|
|
 | #include LPDIRECTDRAW7 lpDD; // DirectDraw对象的指针 LPDIRECTDRAWSURFACE7 lpDDSPrimary; // DirectDraw主页面的指针 LPDIRECTDRAWSURFACE7 lpDDSBuffer; // DirectDraw后台缓存的指针 LPDIRECTDRAWSURFACE7 lpDDSBack; // 存放背景图的页面的指针
BOOL InitDDraw( ) { DDSURFACEDESC2 ddsd; // DirectDraw的页面描述 if ( DirectDrawCreateEx (NULL, (void **)&lpDD, IID_IDirectDraw7, NULL) != DD_OK ) return FALSE; //创建DirectDraw对象 //这里使用了 if ( xxx != DD_OK) 的方法进行错误检测,这是最常用的方法 if (lpDD->SetCooperativeLevel(hwnd,DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN) != DD_OK ) return FALSE; //设置DirectDraw控制级 if ( lpDD->SetDisplayMode( 640, 480, 32, 0, DDSDM_STANDARDVGAMODE ) != DD_OK ) return FALSE; //设置显示模式 //开始创建主页面,先清空页面描述 memset(&ddsd, 0, sizeof(DDSURFACEDESC2)); //填充页面描述 ddsd.dwSize = sizeof( ddsd ); ddsd.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT; //有后台缓存 ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE|DDSCAPS_FLIP|DDSCAPS_COMPLEX; ddsd.dwBackBufferCount = 1; //一个后台缓存 if ( lpDD->CreateSurface( &ddsd, &lpDDSPrimary, NULL ) != DD_OK ) return FALSE; //创建主页面 ddsd.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER; //这是后台缓存 if ( DD_OK != lpDDSPrimary->GetAttachedSurface( &ddsd.ddsCaps, &lpDDSBuffer ) ) return FALSE; //创建后台缓存 ddsd.dwSize = sizeof( ddsd ); ddsd.dwFlags = DDSD_CAPS|DDSD_WIDTH|DDSD_HEIGHT; ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; //这是离屏页面 ddsd.dwHeight=480; //高 ddsd.dwWidth=640; //宽 if ( DD_OK != lpDD->CreateSurface( &ddsd, &lpDDSBack, NULL ) ) return FALSE; //创建放背景图的页面 //如还有别的页面可在此处继续创建 return TRUE; } 我是DirectDraw的初学者,上面的源程序是从教程上考下来的,但是compile的时候出 现以下的errors,实在是搞不懂! 请高手赐教! Wndpro.cpp E:\_My Code\Vc++win32pro\Wndpro\Wndpro.cpp(2) : error C2146: syntax error : missing ';' before identifier 'lpDD' E:\_My Code\Vc++win32pro\Wndpro\Wndpro.cpp(2) : error C2501: 'LPDIRECTDRAW7' : missing storage-class or type specifiers E:\_My Code\Vc++win32pro\Wndpro\Wndpro.cpp(2) : fatal error C1004: unexpected end of file found Error executing cl.exe.
Wndpro.obj - 3 error(s), 0 warning(s)
|
|
|
| | |
|
 |