设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 游戏开发 >> 特效天地——位图卷轴
精品推荐
游戏开发点击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++经典电子书下载
精选专题

特效天地——位图卷轴

作者: 来源:网络文章 时间:2005-12-17 23:26:56


废话少说,先看看程序运行后的效果:man.gif (26498 bytes)(如果没有出现,请耐心的稍等片刻)

请各位原谅我的时间有限,编程的细节我就不多讲了,只介绍一下大致的实现方法。

在DirectX中,页面(Surface)是最基本的对象,我们用它来装载位图,页面有很多种,有:

  • 主页面(Primary Surface):代表我们可见的显示器屏幕
  • 后台缓存(Back Buffer):换页用的另一个后备页面,不可见
  • 离屏页面(Off Screen Surface):用来储存图象的页面,不可见

这个程序中三种页面都用到了。首先将两幅图象:一幅武士、一幅背景分别载入到两个离屏页面上。请注意,武士的图片上我们使用了源关键色。

  • 源关键色:页面上被假设为透明色的颜色,这种颜色在Blit中作为透明

如果你仔细观察一下武士的图片,就会发现武士图象的背景上是绿色,这就是我所使用的源关键色。

然后的工作就是设置一个定时器,每隔一定的时间让屏幕进行一次换页,在这个过程中,需要分别将两幅离屏页面中的位图Blit到后台缓存上,这个时候,需要计算一些坐标数据,这些逻辑方面的问题我就不多说了,因为这些++--的东西,一说就糊涂,你还是自己去思考吧,总之,你需要控制好Blit的源和目标矩形。因为这个程序我使用的是全屏模式,所以使用了换页操作。

  • 换页:将后台缓存与前台缓存(主页面)的指针进行交换,使屏幕上的画面在瞬间更新(因为换页是硬件完成的,非常快速,所用的时间与刷新率是同样的数量级),所以根本就观察不到闪烁的现象。

好了,这个程序大致就是这样的了,它是在VC 5.0环境下,直接利用DirectDraw编写的,没有使用CDX等包装类库。

这里附带可执行文件和源代码,内有比较详细的注释,下载MovePic.zip(190k)。如果有问题,请一定告诉我哟。


特效天地——位图卷轴 相关文章:
特效天地——位图卷轴 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com