directx:DirectX - tasy(I)(节选)



  我不会在这儿讲 DirectX 编程技术所以我重点要做是有关 DirectDraw 设计以及编写足够来使得能够建立并运行我们要求所建立结构能直接处理显存、支持键盘现在先看看我们需要点什么:

   C 编译器 (MS VC 4.0 或更高)

   DirectX 5.0+ SDK (或更高)没有话去 www.microsoft.com 下载

   许多必要经验

   准备好了?那就开始了我们将创建个基于 Windows DirectX 因此我们必须包含个 Windows 所包含必要元素窗口建立、窗口化等等在那些结束后我们开始化 DirectX设置成全屏显示模式剩下我们所做就是去处理显存和处理键盘输入另人惊讶切不困难在我们开始着手代码的前我们先来简单地看个标准 Windows 结构图:(图 1.0)
 
\" width=640 border=0>




  Windows 系统是个多任务系统这就是意味着我们可以运行多个而 Windows 会自动将用户输入以“消息”、“事件”形式发送出去我们不必像以前写 DOS 样来处理这个独特结构就直接决定了我们游戏主体结构我们必须包含个“消息循环”附加地还得有个“消息处理器”来处理这些消息当 Windows 收到用户输入它就运行我们消息处理来处理事件这并不糟糕但是我们必须将我们自己消息尽量地从这些消息中分离出来以便我建立个强劲游戏平台

   我们对计划实施如下:我们首先进行必要包括建立窗口、事件处理器和 DirectX 然后我们就建立个每进行次循环就运行次 void Game_Main(void) 消息循环在 void Game_Main(void) 我们可以处理切我们想要这里就是我们整个游戏进行地方我们还有两个必要: void Game_Init(void), 和 void Game_Shutdown(void). 这两个将分别在游戏开始时运行次和在 Windows 事件主循环退出时运行我们这样做是希望在退出 void Game_Main(void) 时有机会释放资源避免资源浪费(图 2.0个游戏平台基本结构)

\" width=640 border=0>



  图 2.0 清晰地显示出了我们游戏系统结构这个所显示美丽的处就在于它不必我们担心我们正在 Windows 中运行我们只要写进显存运行分配内存等等就像在个 DOS 32 保护模式中!现在既然我没有堆清单给你然后说:“嘿就按这个打吧”那么我们至少还要谈论些有关把 DirectDraw 用进高级话题

   步骤 1: 个 DirectDraw 对象必须是创建这将允许使得我们和 DirectDraw 取得联系你可以将这个步骤想象成化和显卡联系

   步骤 2: 和系统的间、和其他 DirectX 的间协作级别必须被正确设置这个步骤是必要 Windows 系统是共享资源

   步骤 3: 设置想要显示模式和屏幕色深我们将使用 640x480x256 色显示模式但是其他模式都是很容易通过个简单设置来实现这里我们使用 8 比特颜色

   步骤 4: 创建个主表面这步意味着我们向 DirectDraw 对象申请个直接操作显存工具

   步骤 5: 创建个 8 比特调色板并且关联到主表面这个调色板将被化成个灰、红、绿、蓝剃度你通过个简单 Set_Pal_Entry( index, red, green, blue) 即可完成调换和注册调色板工作



Tags:  directx9 directx9.0 directx9.0c directx

延伸阅读

最新评论

发表评论