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

看了书的好几章节,反复讲有关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的,花钱专门跑去买本书来,例程居然把这步省去了,也不说明。

posted @ 2005-06-14 08:46  Aowind  阅读(1062)  评论(0编辑  收藏  举报