网页功能: 加入收藏 设为首页 网站搜索  
快速的例子代码片段
发表日期:2006-08-20作者:[转贴] 出处:  

[创建一个DirectDraw对象]

LPDIRECTDRAW lpDD;
HRESULT ddrval;
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)
{
    // 在这里输出一些错误检测代码
}

[创建主表面]


LPDIRECTDRAWSURFACE lpDDSPrimary;
DDURFACEDESC ddsd;
HRESULT ddrval;

// 清除结构中所有的数据
memset( &&ddsd, 0, sizeof(ddsd) );

// 设置标记
ddsd.dwSize = sizeof( ddsd );
ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;
ddsd.dwBackBufferCount = 1;

// 创建表面
ddrval = lpDD->CreateSurface( &ddsd, &lpDDSPrimary, NULL );

if( ddrval != DD_OK )
{
    // 在这里输出一些错误检测代码
}

[创建后表面]


DDSCAPS ddscaps;

LPDIRECTDRAWSURFACE lpDDSBack; ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
ddrval = lpDDSPrimary->GetAttachedSurface( &ddscaps, &lpDDSBack );
if( ddrval != DD_OK )
{
    // 在这里输出一些错误检测代码
}

[创建离屏表面]


LPDIRECTDRAWSURFACE lpDDSOffscreen;
DDSURFACEDESC ddsd;
HRESULT ddrval;

ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd.dwHeight = 480;
ddsd.dwWidth = 640;

ddrval = lpDD->CreateSurface( &ddsd, &lpDDSOffscreen, NULL );
if( ddrval != DD_OK )
{
    // 在这里输出一些错误检测代码
}
我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 快速的例子代码片段
本类热点文章
  在DirectX 8 中进行2D渲染
  DirectDraw打造极速图形引擎(一)
  用窗口模式运行游戏
  DirectDraw编程基础
  Windows的位图alpha混合技术
  再谈GDI模式作图
  终极优化你的游戏——使用脏矩形技术
  D3D8里面的2D图形编程
  全屏模式
  对2D游戏引擎设计的一些思考
  DirectX8中的二维图形高级技巧
  使用标准GDI实现游戏品质的动画系统
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00417