第1章 关于Windows.doc

第1章 关于Windows.doc

ID:28759348

大小:474.50 KB

页数:33页

时间:2018-12-14

第1章 关于Windows.doc_第1页
第1章 关于Windows.doc_第2页
第1章 关于Windows.doc_第3页
第1章 关于Windows.doc_第4页
第1章 关于Windows.doc_第5页
资源描述:

《第1章 关于Windows.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第1章关于Windows大家好,欢迎开始DirectX103D游戏高级开发的学习之旅,这里将是我们深入学习的起点。要学好3D游戏编程,建立完善的知识体系,首要任务是了解与Windows有关的基本知识。我们将先用较短的时间来学习一些简单的操作,如程序的打开和关闭、基本输入的处理、基本图元的绘制等。如果您对WindowsAPI已经很熟悉,在阅读本章内容时将倍感轻松;否则,请仔细阅读本章!本章主题:lWindows的一些理论知识以及如何使用Win32API进行程序开发lWin32游戏开发和标准的Windows编程有何不同l消息及消息处理l标准消息泵和实

2、时消息泵lWin32编程lCOM,即组件对象模型(ComponentObjectModel)l其他更丰富的内容1.1关于Windows经过15年的发展,Windows拥有一套非常标准的API,即应用程序编程接口(ApplicationProgrammingInterface)。1992年,我们为Windows3.11操作系统所编写的程序,理所当然地仍旧可以在WindowsVista下运行。所以,我们在本章所学习的内容作为Windows编程标准已经存在十多年了。本书的所有代码都是基于DirectX10的,因此仅能运行于WindowsVista及后续

3、版本的操作系统,也就是说WindowsVista是保证本书代码能够正常运行的最低配置的操作系统。当然,绝大多数内容只需稍加修改就能适用于之前版本的Windows和DirectX。现在的Windows程序同古老的DOS程序或Win16程序相比,在很多方面都有着根本性的变革。在过去,运行一个程序将占用100%的CPU时间,且程序员对所有的设备和文件有100%的控制权。因此您还必须熟知用户机器中的设备的诸多细节(您可能还记得那些神秘的DOS或Win16游戏,它们几乎总是要求您输入某些设备的DMA和IRQ配置,如声卡的配置)。这样当游戏出错时,整个系统都

4、会随之崩溃。对于终端用户而言,这意味着只能选择重新启动机器。谢天谢地,在WindowsVista和DirectX10中,上述情形完全不会出现。当您的程序执行时,它会和许多其他进程一起共享CPU,并发(在同一时间)地运行。因此,您无法对声卡、显卡、硬盘以及其他所有的系统资源施以完全的控制。输入、输出也已被抽象出来。这无疑是一件非常好的事,但这也需要您在最开始时多花费一些学习时间。一方面,Windows应用程序都具有一致的界面(lookandfeel)。所以,几乎所有开发人员创建的Windows应用程序都自动地被Windows用户所熟悉。他们早就了解

5、如何使用菜单和工具栏,因此,如果使用Windows的基本框架来构建应用程序,用户很快就知道如何使用这个用户界面。另一方面,应该对Windows和其他应用程序抱有足够的信心。在DirectX出现之前,我们只能使用一些Windows默认的绘图命令(被称为GDI或图形设备接口)来绘图。虽然GDI可以自动处理任意位深度的图像,并且能在任何监视器上工作,但是效率非常低。WindowsVista采用了全新的显示驱动模型,该模型完全重写了使用DirectX的用户接口。经过这种改进后,效率比以往的Windows版本快了许多,但对于格斗游戏来说仍不是特别理想。由于

6、这个原因,很多DOS程序开发人员发誓不在Windows上工作。在渲染复杂场景时,最好的方案是将场景绘制到一幅位图中,然后再将该位图呈现到某一窗口中,这是一个非常缓慢的过程。编写Windows应用程序时,我们必须放弃许多东西。然而,很多在Windows中能做到的事情,对于DOS环境来说简直就是个噩梦。在Windows编程中,我们可以仅使用一行简单的代码(PlaySound函数)来实现音效,查询时间戳计数器,使用健壮的TCP/IP网络栈,访问虚拟内存等。虽然需要花点时间到处找这些功能函数,但是Windows的优势远远胜过它的劣势。本书所有应用程序的代

7、码都是在WindowsVista环境下用VisualC++2005速成版(可从微软官方网站免费下载)编写的。我们将使用C++编写游戏程序,并且还要用到WindowsSDL(SimpleDirectMediaLayer)平台下的Win32API。Win32API就是一组C语言函数,开发人员可以使用这组函数来构建依赖于Windows平台的应用程序。它把一些如多任务和内存保护一类的复杂操作都抽象出来,并且向用户提供高层概念的接口。此外,Win32API还提供了对菜单、对话框和多媒体的支持。我们可以把Windows看成一套非常丰富的API集合。从播放视频

8、到加载网页,您可以无所不为。而且,对于每一项任务,都可以有很多种不同的方法去实现它。目前,有很多大部头的著作都着眼于讲解Windows编

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。