设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 游戏开发 >> DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例
精品推荐
游戏开发点击TOP10
·DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例
·用Excel编写小游戏
·五子棋的原代码
·游戏开发方面相关的电子书下载
·游戏文件系统的解决方案
·基于LOD的大规模真实感室外场景实时渲染技术的初步研究 part II&III
·用MFC构造DirectX应用框架
·游戏开发开门
·《Windows游戏编程大师技巧》(第二版)第11章
·DirectX8.1的DirectDraw7研究手记(三)
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例

作者: 来源:网络文章 时间:2005-12-17 22:40:38

DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(9)             lpDDSPrimary = NULL;
        }
        lpDD->Release();
        lpDD = NULL;
    }
} /* finiObjects */
    程序检测DirectDraw对象的指针(lpDD)和DirectDrawSurface对象的指针(lpDDSPrimary) 是否等于NULL,本例中显然不为NULL。然后DDEX1调用 IDirectDrawSurface::Release方法将DirectDrawSurface 对象的参考值减1,这将会使得其参考值变为0,DirectDrawSurface 对象就被释放了,DirectDrawSurface的指针被设为NULL值,然后撤消。程序又调用IDirectDraw::Release就DirectDraw对象的参考值减1变为0,释放DirectDraw对象及其指针。
    上述的DDEX1是DirectDraw最基本的应用,它首先创建DirectDraw对象和DirectDrawSurface对象,创建一个主表面及其后台缓冲区,将文本输出到后台缓冲区,然后转化表面。第二个例子DDEX2扩展了DDEX1的功能,它可以将一个位图文件调入后台缓冲区。第三个例子DDEX3 则更进一步,除了一个主表面及后台缓冲区外,还创建了两个屏外表面,将位图调入每一个屏外表面,然后使用IDirectDrawSurface::BltFast方法将一个屏外表面的内容位块传输到后台缓冲区,然后翻转表面并将另一个屏外表面的内容位块传输到后台缓
冲区。下面将详细讨论这些功能。

11、将位图调入表面
    如DDEX1中一样,doInit函数是DDEX2的初始化函数,两者的实质一样,一直到下面的代码:
lpDDPal = DDLoadPalette(lpDD, szBackground);
    if (lpDDPal == NULL)
        goto error;
    ddrval = lpDDSPrimary->SetPalette(lpDDPal);
    if( ddrval != DD_OK )
        goto error;
    // load a bitmap into the back buffer.
    ddrval = DDReLoadBitmap(lpDDSBack, szBackground);
    if( ddrval != DD_OK )
        goto error;
    代码的第一行从函数DDLoadPalette返回一个值,该函数在C:\ DX5SDK\SDK\SAMPLES\MISC中的Ddutil.cpp文件中,因此编译DDEX2时需要将Ddutil.cpp和Ddutil.h加入过程。大部分的DirectDraw程序都需要该文件。在DDEX2中,DDLoadPalette函数从Back.bmp文件中创建一个DirectDrawPalette对象。DDLoadPalette函数首先检查用于创建调色板的文件或资源十分存在,如果不存在,就创建一个缺省调色
板。在DDEX2中,它从位图文件中抽取调色板信息并存储在由ape指向的结构,然后如下创建 DirectDrawPalette对象:
 pdd->CreatePalette(DDPCAPS_8BIT, ape, &ddpal, NULL);
 return ddpal;

1.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(1)
2.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(2)
3.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(3)
4.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(4)
5.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(5)
6.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(6)
7.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(7)
8.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(8)
9.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(9)
10.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(10)
11.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(11)
12.DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例(12)
共12页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [128 :>

DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例 相关文章:
DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com