DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(1)
二、第一个DirectDraw实例 要使用DirectDraw,首先必须创建DirectDraw对象的一个实例来表征计算机上的显示适配卡,然后使用接口方法来处理对象。另外还需要创建一个或多个DirectDrawSurface对象的实例来显示游戏。DDEX1首先创建一个DirectDraw对象,再创建一个主表面(primary surface)和一个后台缓冲区(back buffer),然后在表面之间转换。DDEXx例子都是用C++写成的,如果你使用的是C编译器,必须将代码做适当改动,至少要加入虚表和指向接口方法的指针。
1、首先初始化DirectDraw对象DDEX1 程序在doInit函数包含了DirectDraw 的初始化代码:// 创建主DirectDraw 对象ddrval = DirectDrawCreate( NULL, &lpDD, NULL );if( ddrval == DD_OK ) { // 获取独占模式 ddrval = lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE DDSCL_FULLSCREEN ); if(ddrval == DD_OK ) { ddrval = lpDD->SetDisplayMode( 640, 480, 8 ); if( ddrval == DD_OK ) { //创建带有一个后台缓冲区的主表面 ddsd.dwSize = sizeof( ddsd ); ddsd.dwFlags = DDSD_CAPS DDSD_BACKBUFFERCOUNT; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE DDSCAPS_FLIP DDSCAPS_COMPLEX; ddsd.dwBackBufferCount = 1;