[学习笔记]开始学directx了之一

简介: 看了书的好几章节,反复讲有关directdraw原理的问题,在这里用自己的理解讲述一下这个原理,也好方便以后的重温,现在可能有很多错误和漏洞,在以后发现来说就是一种进步了。首先要了解directdraw的绘图和动画产生的原理。
看了书的好几章节,反复讲有关directdraw原理的问题,在这里用自己的理解讲述一下这个原理,也好方便以后的重温,现在可能有很多错误和漏洞,在以后发现来说就是一种进步了。
首先要了解directdraw的绘图和动画产生的原理。先看下面的图:
directdrawshow.JPG
在这里,DX将我们的绘图过程分成三个平面,首先,我们把绘图的元素在C平面组装成图像,然后放入B平面内,B平面和A平面进行交换,B平面被推到屏幕上进行显示,同时C平面又重新组装下一副画面,再把组装好的成品画面放入A平面内,再次A和B交换,实现画面的更迭,这样反复动作,即实现了动画。
在C上面组装的元素有背景,人物等等,也有人物动画什么的,当然有时也可以直接下更迭到幕后的平面上进行组装,这样就可以省去C平面。

大致理解如此。还要继续学习,在看到的例程中发现一个问题,
运行时出现如下错误
DDERR_NOCOOPERATIVELEVELSET
(错语 0x887600D4)
网上一查,只找到一个不知道是什么文字的网页,如下
DDERR_NOCOOPERATIVELEVELSET
(ЛПД 0x887600D4)
жХОЛГЙС УПЪДБОЙС ЧЩЪЧБОБ ВЕЪ ХУФБОПЧЛЙ ЧЩЪПЧБ ЖХОЛГЙЙ SetCooperativeLevel.
苦思之后发现,在应用directdraw对像之前,除了实例化,还得对其进行SetCooperativeLevel的设置,将其draw的载体的句枘绑到这个对像上。
TMD的,花钱专门跑去买本书来,例程居然把这步省去了,也不说明。

相关文章
|
C++ Windows 数据格式
使用C++和DirectX开发游戏GUI(一)
这篇文章将讲述如何使用C++和DirectX来创建自己的GUI.文章分为几部分,每部分涉及一个特定的GUI编程主题.这并不需要按顺序阅读,所以你可以从你需要的部分开始.
1743 0
|
开发工具 图形学
|
API 开发工具 数据格式
|
存储 BI C++
使用C++和DirectX开发游戏GUI(五)
然后就是滚动条的问题了.我的列表框包含两个成员,m_horzscrollbar和m_vertscrollbar,他们都是GUI滚动条.当列表框的大小被改变时(wm_sizechanged()),他会看看数据的宽度和高度并决定是否显示滚动条.
1338 0
|
存储 C++ Windows
使用C++和DirectX开发游戏GUI(六)
要想真正使你的GUI大放光彩,你必须有一个资源编辑器.当然你不需要做个象开发环境提供的资源编辑器那样的华丽和强大,但是你起码得有个基本的程序来完成加入,编辑,删除,排列,免除你为对话框的每个控件计算虚拟坐标位置的麻烦事儿.
1501 0
VS2010 C#配置DirectX相关
    基本上,只需要下载好类似directx_Jun2010_redist.exe这样的东西,默认安装,在工程中稍加引用就OK了。参考网址:http://blog.csdn.net/woaixiaozhe/article/details/7861340 ...
734 0