zoukankan      html  css  js  c++  java
  • [学习笔记]开始学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的,花钱专门跑去买本书来,例程居然把这步省去了,也不说明。

  • 相关阅读:
    poj 3616 Milking Time
    poj 3176 Cow Bowling
    poj 2229 Sumsets
    poj 2385 Apple Catching
    poj 3280 Cheapest Palindrome
    hdu 1530 Maximum Clique
    hdu 1102 Constructing Roads
    codeforces 592B The Monster and the Squirrel
    CDOJ 1221 Ancient Go
    hdu 1151 Air Raid(二分图最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/aowind/p/174003.html
Copyright © 2011-2022 走看看