请问一下c 游戏编程入门教程看什么书好?2015/10/10 4:50:44

打开微信扫一扫
孔网客户端
安卓版苹果版扫描下载
Windows游戏编程大师技巧(第2版) [美] André LaMot
(货号:3)
开&&&&&&本:其它
页&&&&&&数:
字&&&&&&数:
I&&S&&B&&N:3
活动内容:
1、满50.00元包邮;(快递)
包邮地区:上海市、江苏省、浙江省、安徽省、江西省、北京市、天津市、山东省、河北省、湖南省、湖北省、河南省、广东省、福建省;
2、满98.00元包邮;(快递)
包邮地区:山西省、内蒙古、广西、海南省、辽宁省、吉林省、黑龙江省、陕西省、重庆市、云南省、贵州省、四川省;
从 22:40:41开始,到 22:40:44结束
活动说明:满50元和98元包邮,符合包邮条件的地区如超重,只收续重费。【正版二手教材一站式够齐】您在本店左上角【店铺首页】右上角进行店内搜索。
售&&&&&&价:43.20元
品&&&&&&相:
配送方式:快递&&&&
上书时间:
购买数量:
(库存1件)
商品分类:
关 键 字:
品相描述:
【上架书籍基本都有库存,直接下单即可,多个订单您提交订单即可,我们合并修改运费只收一次!确认后,手机短信告知您付款!】【关于快递及到货时间】默认汇通快递(3-5天),不在汇通快递范围内的地区我们变更为邮局EMS(3-7天)或邮政商务小包快递(3-7天)。不接受指定快递,不到付!可告知走顺风(1-3)(空运、陆运),需增加运费24元起价!以上到货时间西部及偏远、个别地区除外!我们无法左右快递,运输途中的变数不可预测,实际到达时间可能有变化,我们只能催促!图书新旧程度】本店所有二手正版教材均在7-8成新左右,封皮较新;内页有笔记,不影响阅读,可帮助复习学习,【如在意笔记的请不要下订单,如对品相苛刻的也不要下单】。不缺页,不影响正常阅读。!一般没有光盘、磁带、学习卡等,我们将择优发货。
详细描述:
注意啦:旧书库存不准确经常断货,为保证您的利益,拍前请务必联系卖家咨询库存情况。&&&&&对于未事前进行咨询直接付款的买家,本店有权拒绝发货。请知悉&&&&!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&书名:Windows游戏编程大师技巧(第2版)&&&&&&&&&&编号:3055048&&&&&&&&&&ISBN:3[十位:]&&&&&&&&&&作者:[美]&André&LaMothe&沙&鹰&&&&&&&&&&出版社:人民邮电出版社&&&&&&&&&&出版日期:2012年11月&&&&&&&&&&页数:734&&&&&&&&&&定价:108.00&元&&&&&&&&&&参考重量:1.370Kg&&&&&&&&&&-------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&图书类型:正版二手旧书&&&&&&&&&&&&&&新旧程度:八成新左右,绝不影响阅读,详细情况请咨询店主&&&&&&&&&&&&&&如图书附带光盘、磁带、学习卡等请咨询店主是否齐全&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*&内容提要&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Dead&or&alive,&you're&coming&with&me."&—Robocop(电影《机械战警》)&物换星移,仿佛已经是很久以前,我写了一本名为《WINDOWS游戏编程大师技巧》的书。对于我来说,这本书提供了一个绝好的机会,让我能够实现去创造某些东西的夙愿——那就是去写出一本能够教会读者如何制作游戏的书。现在,已经又过去了几年,我相信我现在更有经验,也更聪明了些,并且在这几年里,我的确又学会了很多游戏制作的窍门,哈哈。这本书,将会续写和弥补上一本书所没有涉及的内容。游戏编程的每一个关键主题都将涵盖其中。我将以我所学,倾囊相授。&当然,通常我不会假设读者已经是一个编程大师,或者已经知道如何制作游戏。这本书将适合高级游戏编程人员阅读;同时,初学者也同样适用。虽然如此,本书将以较快的节奏深化内容,所以,不可掉以轻心。&现今,可能是跻身游戏行业的人们,有史以来所经历的最酷的时代。我是说,我们现在可以用所拥有的高科技去创造以假乱真的游戏世界!想像一下,未来的游戏,将会是何面貌?但是,所有这些高新技术并非轻易就能掌握,艰辛的努力必不可少。近来,游戏制作所需要掌握的技能&&&&&&&&&&&&&&&&&&&&&&*&图书目录&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&第一部分&Windows编程基础&第1章&学海无涯&2&历史一瞥&2&设计游戏&5&游戏类型&5&集思广益&6&设计文档和情节串联图板&6&使游戏具有趣味性&7&游戏的构成&7&常规游戏编程指导规范&11&使用工具&14&从准备到完成—使用编译器&15&实例:FreakOut&17&总结&30&第2章&Windows编程模型&31&Windows的起源&31&多任务和多线程&34&按照微软风格编程:匈牙利符号表示法&37&世界上最简单的Windows程序&39&现实中的Windows应用程序&44&Windows类&45&注册Windows类&50&创建窗口&50&事件句柄&52&主事件循环&57&产生一个实时事件循环&60&打开多个窗口&61&总结&63&第3章&高级Windows编程&64&使用资源&64&使用菜单&77&GDI(图形设备接口)简介&86&处理重要事件&97&自行发送消息&109&总结&111&第4章&Windows&GDI、控件和突发奇想&112&高级GDI绘图&112&点、线、平面多边形和圆&117&关于文本和字体&124&定时高于一切&125&使用控件&130&获取信息&136&T3D游戏控制台程序&141&总结&145&第二部分&DirectX和2D基础&第5章&DirectX基础知识和令&人生畏的COM&148&DirectX基础&148&COM:是微软,还是魔鬼的杰作?&152&应用DirectX&COM对象&162&COM的前景&168&总结&169&第6章&初次邂逅&170&DirectDraw的接口&170&创建DirectDraw对象&173&与Windows协作&177&设置模式&180&色彩的奥秘&182&创建显示表面&185&总结&202&第7章&高级DirectDraw和&位图图形&203&使用高彩模式&203&双缓冲&213&表面动态&217&页面切换&220&使用显存块移动单元(Blitter)Using&the&Blitter&225&基础裁剪知识&235&使用位图&245&离屏表面&253&位图的旋转和缩放&260&离散采样理论&261&色彩效果&265&手动色彩变换及查询表&272&DirectX新的色彩和Gamma控制接口&272&将GDI和DirectX联用&273&DirectDraw的庐山真面目&275&在窗口模式下使用&278&总结&285&第8章&矢量光栅化及2D变换&286&绘制线条&286&基本2D图形裁剪&294&线框多边形&306&2D平面里的变换(Transformation)&310&矩阵引论&320&平移&326&缩放&327&旋转&327&填充实心多边形&329&多边形碰撞检测&345&深入定时和同步&351&卷轴和摇镜头&353&伪3D等轴测(Isometric)引擎&359&T3DLIB1函数库&363&Blitter对象引擎&393&总结&400&第9章&DirectInput输入和力反馈&401&输入循环The&Input&Loop&Revisited&401&DirectInput序曲&402&力反馈&431&编写一个广泛适用的输入系统:T3DLIB2.CPP&433&总结&437&第10章&用DirectSound和DirectMusic演奏乐曲&438&在PC上对声音编程&438&从此有了声音…&439&数码声音v.s.MIDI—音质好v.s.存储省&441&发声硬件&444&数码录音:设备和技术&445&DirectSound中的麦克风&446&初始化DirectSound&448&主声音缓冲与辅助声音缓冲&450&播放声音&454&用DirectSound反馈信息&456&从磁盘中读取数据&458&DirectMusic:伟大的试验&462&DirectMusic的体系结构&463&初始化DirectMusic&464&加载一个MIDI段&466&操作MIDI段&469&T3DLIB3声音和乐曲库&470&Summary&478&第三部分&核心游戏编程&第11章&算法、数据结构、&内存管理和多线程&480&数据结构&480&算法分析&487&递归&489&树结构&490&优化理论&497&制作演示&504&保存游戏的手段&505&实现多人游戏&506&多线程编程技术&507&总结&527&第12章&人工智能&528&人工智能初步&528&确定性AI算法&529&模式以及基本控制脚本的编写&535&模拟行为状态系统&540&用软件对记忆和学习进行建模&546&计划树和决策树&548&寻路&553&高级AI脚本&563&人工神经网络&568&遗传算法&571&模糊逻辑&573&为游戏创造真正的AI&589&总结&589&第13章&基本物理建模&590&基本物理学定律&591&线性动量的物理性质:守恒与传递&599&模拟万有引力效果&601&讨厌的摩擦力&607&基本的特殊碰撞反应&611&实际2D物体间的精确碰撞响应(高级)&621&解决n-t坐标系统&624&简单运动学&630&粒子系统&634&创建游戏的物理模型&643&总结&645&第14章&文字时代&646&什么是文字游戏?&647&文字游戏如何工作?&648&从外部世界获得输入&650&语言分析和解析&651&组成游戏世界&663&实现视觉、听觉和嗅觉&666&实时响应&670&错误处理&671&造访Shadow&Land&671&Shadow&Land中使用的语言&671&编译和运行Shadow&Land&673&总结&674&第15章&综合运用&675&Outpost的设计初稿&675&用于编写游戏的工具&676&游戏场景:在太空中卷动&677&玩家控制的飞船:鬼怪号&678&小行星带&680&敌人&681&“加强”宝物&685&HUD&685&粒子系统&688&玩游戏&689&编译Outpost&689&结束语&690&第四部分&附录&附录A&光盘内容简介&694&附录B&安装DirectX和使用&C/C++编译器&696&使用C/C++编译器&696&附录C&数学和三角学回顾&699&三角学&699&矢量(Vector)&702&附录D&C++入门&709&C++是什么?&709&最低限度应当了解的C++内容&712&新的类型、关键字和约定&712&内存管理&714&流式输入输出(I/O)&715&类&716&域操作符&723&函数和操作符重载&724&总结&726&附录E&游戏编程资源&727&Game&Programming&Sites&727&下载点&727&二维/三维引擎2D/3D&728&游戏编程书籍&728&微软公司的DirectX多媒体展示&728&新闻组&729&站在业界浪尖&729&游戏开发杂志&729&游戏网站开发者&729&Xtreme&Games&LLC&730&附录F&ASCII码表&731&&&&&&&&&&&&&&&&&&&&&&*&文章节选&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&记得我爱上计算机是在1983年,那时我在Apple&IIe计算机上编写Logo语言程序(感谢Woz!)。那段经历带来的成就感让我非常着迷,并深深印在了我的脑海里。计算机可以做任何我要它做的事。即使是在无数次的循环之后,它仍然不知疲倦,更不会质疑我要它完成的任何一项具体任务的理由。它只是默默地完成工作。这一段经历,和一部叫做“War&Games”的电影,以及一个名为Andrè&LaMothe的作者,对我的职业生涯起到了举足轻重的作用。&在1994年我购买了第一本Andrè&LaMothe的书,书名是《Sams&Teach&Yourself&Game&Programming&in&21&Days》。我从来没有想过,原来编写视频游戏也能成为一种职业。于是,我发现了在我对编程的热爱和对视频游戏的迷恋之间,存在着这样一种联系。从前谁能想像我花在玩Galaga(小蜜蜂)这个游戏上的那么多时间在现在也可被视为是一种研究呢?Andrè的写作风格和教学方式鼓励了我,并且让我相信其实我也能够编写视频游戏。我还记得当时我给他打了电话(直到现在我仍然觉得难以置信,他真的公布了自己的电话号码,并且和我这样的读者谈话。),求助我为物理课准备的一个简单程序,那是建立在他的一个气体模型演示程序的基础上的。当时我无论如何都无法使那个程序运行起来。他当即检查了一下我的程序,很快,他对我说“Richard,你可真要命,你必须在每行语句的结尾打上分号!”原来这就是问题所在,于是我的第一个游戏程序很快完成并正常运作了。&几年过后,我有幸和Andrè一起制作一个名叫“Rex&Blade”的游戏。我的工作是工具程序员和关卡设计。这对我来说是一个棒极了的学习经历。我疯狂地工作(因为Andrè简直就是个严厉的奴隶监工),同时也乐趣无穷,(可以去看电影,玩射击,滑雪,还有很多你意想不到的东西,比如0.51口径的‘沙漠之鹰’**,很酷吧)。最后我们终于完成了一个3D互动视频游戏三部曲!Rex&Blade从策划构思到正式销售仅仅只花了短短6个月的时间!(当然,Rex可作为一份有意思的开发手记的题材)。开发Rex让我了解了,制作一个真正的视频游戏所需要的步骤;而和Andrè的合作让我知道了,什么是昼夜不停的工作——那真是毫不夸张啊。当我一开始听他说,他一个星期通常工作100小时以上的时候,我还以为他是开玩笑呢。&在软件工程学里,很少有别的领域能象游戏编程那样对硬件、软件、和程序员自己提出那么高的要求。实在是有很多错综复杂的部分必须完美的结合并且在一起运作:数学、物理、人工智能、图形学、音响、音乐、图形用户界面、数据库结构和其他种种。这就是为什么《Windows游戏编程大师技巧》能够在现在和未来,在视频游戏制作这个领域里成为经典的原因。&这本书将带领你到达游戏编程技术的另一个层次。光是人工智能那部分就很让人着&迷了—那个演示简直酷极了。你还能从哪里获得如此详尽的介绍,教你把模糊逻辑学、神经网络、和遗传法则运用到视频游戏上去呢?本书还将介绍有关DirectX的主要组成成分,包括DirectDraw、DirectInput(包括力反馈作用!),DirectSound,以及最新最棒的DirectMusic技术。&然后是物理建模的部分。最后,一部分学有所成的人,可以去钻研一下完全碰撞反应、动量传递和正向运动学,并进行实时模拟。想像一下,你所创造的东西将会有学习能力;物体将会象在真实世界里那样碰撞运动;而你游戏里的敌人将会记住上次遭遇战里,你是如何打败他们的。这些都将是,未来那些了不起的游戏里的基础部分。&我真的必须感谢Andrè创作了这本书。他经常说,如果他不写,谁来写?的确,对他来说,用他20多年的艰苦工作所取得的经验,以及获得的秘诀和技巧去帮助别人真的是件很棒的事。&生活在这样一个技术日新月异的伟大时代真是让人兴奋,尤其在你是一个游戏程序员的时候。似乎每几个月总会有新的CPU、显卡或者其他新的硬件上市,把我们原先能想象得到的技术极限不断向前推进。(比方说,我们曾经很难想像VoodooIII每秒能运算700亿次!)诚然,最新最好的技术和产品的价格也是相当的昂贵。但即使这样,在我们运用这些技术于当前开发的游戏的同时,人们对未来视频游戏的期望却变得更高。似乎就在不远的将来,可以局限游戏创作的因素,可能惟有**知识和想像力了。&想到下一代的游戏程序员能够从这本书里获取灵感和知识让我感到很激动。Andrè应该也希望,21世纪的某天能有人接替他,继续他的工作,教授人们游戏编程这有如黑魔法般充满魅力的技能,因为,他真的需要放个长假休息一下了!&Richard&Benson&&3D&Programmer&&梦工厂(DreamWorks&Interactive)、电子艺界(Electronic&Arts)&章&高级Windows编程&"Are&you&sure&this&sweet&machine&isn't&going&to&waste?"&—Dade,&Hackers&(电影《骇客》)&并不非得是火箭专家才能体会Windows编程是很大的一个主题。但Windows&编程很绝的地方在于,你不用了解太多细节,就可以完成很多工作。因此,本章主要提供开发一个完整的Windows应用程序所需的一些最重要的内容。本章主要内容有:&?&使用资源(如图标、光标和声音)&?&菜单&?&基本的图形设备接口(GDI)和视频系统&?&输入设备&?&发送消息&使用资源&Windows创建者提出的一个主要设计目标就是,在一个Windows应用程序中除程序代码外还能储存更多的资源(甚至Mac程序也是如此)。他们详尽论述了程序的数据也应当驻留在该程序的.EXE文件中。有很多理由支持这个想法,简列如下:&?&一个同时含有代码和数据的.EXE文件更容易发布。&?&如果没有外部数据文件的话,就不会丢失这些数据。&?&外力不能很容易地访问、任意删改、添加、和分配你的数据文件(例如,.BMP文件、.WAV文件等等)。&为了支持这种数据库技术,Windows程序支持称之为资源的功能。这只是与你的程序代码结合在一起的多块数据,这部分数据在运行时中可被程序本身加载。图3-1描述了这个概念。&那我们讨论的是哪一种资源呢?实际上对于想编译进程序中的数据类型并没有什么限制,因为Windows程序支持用户定义的资源类型。不过,有几种预定义的类型能满足你大部分的日常需要:&?&图标—小的位图图形,可以用于许多方面,例如放在目录下表示一个程序,用户单击以运行该程序。图标使用.ICO文件扩展名。&?&the&.CUR&file&extension.&光标—一个表示鼠标指针的位图。Windows允许以各种方式操作光标。例如,可在光标于窗口之间移动时改变它。光标使用.CUR文件扩展名。&?&字符串—字符串作为资源的意义可能是较不明显的。你可能会这样说:“我经常将字符串写在我的代码或者一个数据文件中。”我知道你的意思。然而,Windows允许将字符串表作为一种资源放到你的程序中,并且通过ID来访问它们。&?&声音—大部分Windows程序都通过.WAV文件来使用声音。因此,.WAV文件也可被加为一种资源。这是一个让某些觊觎你的音效的人无从下手的好办法。&?&位图—这是标准的位图,可以是单色、4位、8位、16位、24位或32位格式的矩形像素矩阵。在图形操作系统(如Windows)中是非常常用的对象,因此也可以将位图作为一种资源。位图使用.BMP文件扩展名。&?&对话框—对话框在Windows中也很常用,设计者可以让对话框作为一种资源,而不是在外部装载它们。好主意!因此,你可以在程序中即时地创建对话框,也可以用编辑器设计它们,然后作为一种资源来存储。&?&图元文件—图元文件相对高级。它们允许将一系列图像操作作为一个序列记录在一个文件中,然后再回放它。&现在你已经了解了资源的定义以及存在形式,下一步就是如何将它们集成在一起?事实上,有一个叫做资源编译器(Resource&Compiler)的程序,它接受一个扩展名为.RC的ASCII文本资源文件作为输入。该文件是一个C/English类似结构的文件—描述了编译到单个数据文件中的所有资源。之后该资源编译器装载所有的资源,并将所有资源放置在一个具有.RES扩展名的大数据文件中。&这个.RES文件包含了你在.RC文件中定义的诸如图标、光标、位图、声音等所有资源的二进制数据。该.RES文件和.CPP、.H、.LIB、.OBJ等等文件一样都可以编译成一个.EXE文件。图3-2显示了可能的数据流程。&&图3-2&编译及连接时的资源数据流程&整合资源&以前可以使用一个外部资源编译器,如RC.EXE将所有的资源编译到一起。但是现在你可以使用编译器IDE来做这些工作。因此,如果在程序中添加一种资源的话,可以简单地通过IDE中的“文件”菜单中选择“新建”菜单项(大多数情况下),然后选择想要添加的资源类型(后面将详细讨论)来添加资源。&让我们回顾一下如何处理资源:可以向程序中添加许多数据类型和对象,然后它们以资源的形式和实际程序代码一起驻留在.EXE文件中(一般在文件的尾端)。在运行过程中,可以访问这个资源数据库,并且可以从程序本身(而不是作为一个单独的文件从磁盘中)装载资源数据。要创建该资源文件,必须有一个以ASCII文本形式的资源描述文件,名称为*.RC。然后将该文件传递到编译器中(一起访问该资源),并且产生一个*.RES文件。然后将该.RES文件和所有的其他程序对象连接到一起,创建一个最终的.EXE文件。就这么简单!好,这样我就变成了一个亿万富翁了。&知道了这些,下面就让我们讨论一下众多的资源对象,学会如何创建并将其装载到程序中。我不打算重复上面提到过的所有的资源,但是你应当能够对付任何其他的资源。它们都以相同的方式运行,只是在数据类型、句柄或使用难度上有少少不同。&使用图标资源&使用资源只需要创建两个文件:一个是.RC文件,如果想对.RC文件中的符号标识符进行引用的话,可能还需要创建一个.H文件。在下面内容中将详细讨论。当然,最终要产生一个.RES文件,但是我们让IDE编译器来做这个工作。&举一个创建图标(ICON)资源的例子,让我们看一下如何改变任务栏上的应用程序使用的图标以及窗口上系统菜单旁边的图标。如果你还记得的话,我们在Windows类的创建过程中使用过如下代码设置这些图标:&winclass.hIcon&=&LoadIcon(NULL,&IDI_APPLICATION);&winclass.hIconSm&=&LoadIcon(NULL,&IDI_APPLICATION);&这两行代码为这些普通图标票和小版本的图标加载默认的应用图标程序。实际上可以通过使用已经编译进资源文件的图标,将所需要的图标装载到这些资源槽(Slot)中。&首先需要一个图标,我已经创建了一个很酷的图标用于本书中所有的应用程序。该图标名为T3DX.ICO,如图3-3所示。我使用VC++6.0的图像编辑器(如图3-4所示)创建了该图标。当然你可以使用任何你想使用的程序(只要该程序支持该种输出类型)来创建图标、光标和位图等等。&T3DX.ICO具有32像素×32像素尺寸,16色。图标的尺寸可从16×16到64×64的,最高可以具有256色。但是大多数图标都是32×32以及16色彩的,所以我们也采用这种格式。&一旦你有了想要放入一个资源文件中的图标,就需要创建一个资源文件来放置该图标。为了简单起见,让我们手工编写。(当然IDE编译器完全可以做这些工作,但是那样的话,你就什么也学不到了,不是吗?)&.RC文件包含所有资源的定义,也就是说在程序中可以使用多个资源。&NOTE&在阅读以下代码之前,我想指出关于资源的非常重要的一点。Windows可以使用ASCII文本字符串或者是整数标识符来表示资源。在大多数情况下,你可以在.RC文件中同时使用这两种方式,但是应当注意一些资源只允许使用其中的一种。无论是哪种情况,资源必须以稍微不同的方式来加载,并且如果涉及到标识符的话,在你的工程中必须包含一个额外的包含符号交叉引用的.H文件。&&图3-4&VC++&6.0中的图像编辑器&下面是如何在.RC脚本文件中定义一个ICON资源:&方法一:使用字符串名&icon_name&ICON&FILENAME.ICO&例:&windowicon&ICON&star.ico&MyCoolIcon&ICON&cool.ico&或&方法二:使用整型标识符&icon_id&ICON&FILENAME.ICO&例:&windowicon&ICON&star.ico&124&ICON&ship.ico&这是令人迷惑不解的部分:注意方法一中根本没有任何注解。这是个容易给你带来麻烦的问题,因此要仔细听。应当能注意到:ICON定义的每一种方法的第一个例子看上去完全一样。但是,一个理解为字符串“windowicon”,而另一个是一个符号windowicon。这样就导致在.RC文件(及应用程序的.CPP代码文件)中必须包含一个附加的文件来定义符号常量。当资源编译器解析下面代码时,&windowicon&ICON&star.ico&资源编译器首先检索已在include头文件定义的符号。如果该符号已经存在,资源编译器就通过整型标识符来引用该符号所指向的资源。否则,资源编译器就假定它是个字符串,通过字符串“windowicon”来引用ICON。&因此,如果想在.RC资源脚本中定义符号ICON的话,也需要一个.H文件来解析该符号索引。要想在.RC脚本中包含.H文件,应当使用标准C/C++的#include关键字。&例如,假定你想在.RC文件RESOURCES.RC中定义三个符号图标,同时也需要一个.h文件RESOURCES.H。下面是两个文件各自的内容:&RESOURCES.H的内容:&#define&ID_ICON1&100&//&these&numbers&are&arbitrary&#define&ID_ICON2&101&#define&ID_ICON3&102&RESOURCES.RC的内容:&#include&"RESOURCES.H"&//&here&are&the&icon&defines,&note&the&use&of&C++&comments&ID_ICON1&ICON&star.ico&ID_ICON2&ICON&ball.ico&ID_ICON3&ICON&cross.ico&就是这样。然后可以将RESOURCES.RC添加到你的工程中,确认应用程序文件中有#include&RESOURCES.H,然后你就大功告成了。当然,.ICO文件必须放在工程的工作目录下,以便于资源编译器能够找到它们。&如果没有为图标定义(#define)符号,也没有包含一个.H文件,资源编译器将只能假定符号ID_ICON1、ID_ICON2和ID_ICON3是字符串。如果这样,你就得在程序以“ID_ICON1”、“ID_ICON2”和“ID_ICON3”的形式引用它们。&似乎我已经完全颠覆了时空连续统,颠三倒四地讨论这些东西。现在让我们回顾一下想做的工作—仅仅是加载一个简单的图标!&欲使用字符串名来载入图标,按下面步骤进行:&在.RC文件中:&your_icon_name&ICON&filename.ICO&在程序代码中:&//&Notice&the&use&of&hinstance&instead&of&NULL.&winclass.hIcon&=&LoadIcon(hinstance,&"your_icon_name");&winclass.hIconSm&=&LoadIcon(hinstance,&"your_icon_name");&要通过符号参考来载入资源,可以如前面例子那样#include包含符号参考的头文件。&在.H文件中:&#define&ID_ICON1&100&//&these&numbers&are&arbitrary&#define&ID_ICON2&101&#define&ID_ICON3&102&在.RC文件中:&//&here&are&the&icon&defines,&note&the&use&of&C++&comments&ID_ICON1&ICON&star.ico&ID_ICON2&ICON&ball.ico&ID_ICON3&ICON&cross.ico&之后,程序代码看起来像这样:&//&Notice&the&use&of&hinstance&instead&of&NULL.&//&use&the&MAKEINTRESOURCE&macro&to&reference&//&symbolic&constant&resource&properly&winclass.hIcon&=&LoadIcon(hinstance,MAKEINTRESOURCE(ID_ICON1));&winclass.hIconSm&=&LoadIcon(hinstance,MAKEINTRESOURCE(ID_ICON1));&注意这里用了宏MAKEINTRESOURCE()。该宏将整数转换为一个字符串指针,但是不必担心该操作—对于已经#define的符号常数时就应用这个宏。&使用光标资源&光标资源几乎和图标资源相同。光标文件是一个小位图,扩展名为.CUR,可以&&&&&&&&&&&&&&&&&&&&&&*&编辑推荐与评论&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&暂无相关介绍&&&&&&&&&&&&&&&&&&&&&&*&作者介绍&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Dead&or&alive,&you're&coming&with&me."&—Robocop(电影《机械战警》)&物换星移,仿佛已经是很久以前,我写了一本名为《WINDOWS游戏编程大师技巧》的书。对于我来说,这本书提供了一个绝好的机会,让我能够实现去创造某些东西的夙愿——那就是去写出一本能够教会读者如何制作游戏的书。现在,已经又过去了几年,我相信我现在更有经验,也更聪明了些,并且在这几年里,我的确又学会了很多游戏制作的窍门,哈哈。这本书,将会续写和弥补上一本书所没有涉及的内容。游戏编程的每一个关键主题都将涵盖其中。我将以我所学,倾囊相授。&当然,通常我不会假设读者已经是一个编程大师,或者已经知道如何制作游戏。这本书将适合高级游戏编程人员阅读;同时,初学者也同样适用。虽然如此,本书将以较快的节奏深化内容,所以,不可掉以轻心。&现今,可能是跻身游戏行业的人们,有史以来所经历的最酷的时代。我是说,我们现在可以用所拥有的高科技去创造以假乱真的游戏世界!想像一下,未来的游戏,将会是何面貌?但是,所有这些高新技术并非轻易就能掌握,艰辛的努力必不可少。近来,游戏制作所需要掌握的技能已明显提高。但是,如果你正阅读这段文字,或许如我所料,你就是那些乐于迎接挑战的人中的一员。我要说,你来对了地方,作出了正确的选择,因为当你掌握了本书内容,你将能够制作在电脑上运行的全3D,有纹理映射的,具有专业水平的光照效果的视频游戏。此外,你还将懂得蕴涵于游戏之中的人工智能、物理建模、游戏算法和2D/3D图形学的基本原理。同时,你将能够在现在和将来运用3D硬件。&你将学到什么&通过本书你将学到数以TB计的信息!我决心要往你的大脑里面塞入如此之多的信息以至于可能会有些信息溢出来。认真地说,本书覆盖了全部必要的元素,来创建基于Windows&9X/NT/XP/2000平台的PC游戏:&?&Win32编程&?&DirectX基础知识&?&2D图形和算法&?&游戏编程技术和数据结构&?&多线程编程&?&人工智能&?&物理建模&?&使用3D加速硬件设备(见配套光盘)&除了这些,还有更多其它的内容……&本书主要讨论游戏编程。光盘上带有两套完整的在线电子版书籍,涉及Direct3D直接模式和General&3D&Graphic。&应当具备的基础知识&本书假定你可以编程。如果你还不懂如何编写C语言程序,那么阅读本书的某些部分可能会使你感到相当困惑。会让C语言程序员感到心神不安的是,本书中又有一定的范例程序是用C++写的。不过别担心,在我要做任何古怪的事情以前,我将提醒你。或许,如果你需要关于C++程序设计的速成课程,本书的附录D可作为一份C++入门读本来使用。基本上本书只在用到DirectX的场合里才使用C++。&然而,我还是决定要在本书中稍微多用一些C++。因为在游戏编程中有如此之多的事情可用面向对象的方法来概括,若是硬要把它们设计成C风格的结构那简直是亵渎了它们。我的底线是:如果你能用C编程,很好。如果你能够用C和C++编程,那就太好了,阅读本书对你来说完全不成问题。&众所周知,计算机程序是由逻辑和数学组成。而3D视频游戏很强调数学部分!3D图形学里的内容几乎全部涉及数学。幸运的是那是有趣的数学(的确,数学本身可以很有趣)。只要了解一些基本的代数和几何知识就可以了。我还将教你关于矢量和矩阵的知识。只要会做加、减、乘、除运算,就可以理解这里90%以上的内容,而不一定要亲自进行推导。毕竟,只要能够应用文章中的代码,那就够了。&上面所列举的就是所有你应当具备的基础知识。当然,你最好告诉所有的朋友,在大约两年之内他们都将看不到你,因为在这段时间中,你将非常忙碌。但是在你理解制作游戏程序后,就可以尽情享受了!&本书的组织&《Windows游戏编程大师技巧,第二版》共分为四大部分,计15章和6个附录。&第一部分&Windows编程基础&第一章&无尽之旅&第二章&Windows编程模型&第三章&高级Windows编程&第四章&Windows&GDI、控件和突发奇想&第二部分&DirectX和2D基础&第五章&DirectX基础和令人生畏的COM&第六章&首次接触:DirectDraw&第七章&高级DirectDraw和位图图形&第八章&矢量光栅化及2D转换&第九章&利用DirectInput和力反馈进行输入&第十章&用DirectSound和DirectMusic演奏乐曲&第三部分&核心游戏编程&第十一章&算法、数据结构、内存管理及多线程&第十二章&人工智能在游戏中的运用&第十三章&基本物理建模&第十四章&综合运用&第四部分&附录&附录A&CD上的内容&附录B&安装DirectX和使用C/C++编译器&附录C&三角函数和矢量&附录D&C++基础&附录E&游戏编程资源&附录F&ASCII表&安装本书的配套光盘&本书的配套光盘包含本书所有程序源码、可执行文件、示例程序、美术素材、3D建模工具、音效,和补充的技术文章。目录结构如下:&CD-DRIVE:&T3DGAMER1&SOURCE&T3DCHAP01&T3DCHAP02&.&.&T3DCHAP14&T3DCHAP15&APPLICATIONS&ARTWORK&BITMAPS&MODELS&SOUND&WAVES&MIDI&DIRECTX&GAMES&ARTICLES&ONLINEBOOKS&ENGINES&每一个主要目录下含有所需要的具体数据。下面是更详细的分类:&T3DGAMER1——含有所有其他目录的根目录。请首先阅读一下README.TXT文件以便了解任何有关本书付印之后才作的改动。&SOURCE——含有本书所有的按章节排列的源代码目录。只要将整个SOURCE目录全部复制到硬盘上,就可以从硬盘上运行。&DEMOS——含有许多公司授权我放在本书配套光盘里的演示版软件。&ARTWORK——包含可以在你的程序中免费使用的公开的美术素材。&SOUND——包含可以在你的程序中免费使用的公开的音效和音乐素材。&DIRECTX——包含最新版本的DirectX&SDK。&GAMES——包含大量我觉得非常不错的2D和3D的共享游戏软件。&ARTICLES——含有游戏编程领域中的大师们撰写的可给人启迪的文章。&ONLINEBOOKS——含有一些在线电子版书籍,涉及Direct3D直接模式和General&3D&Graphic。&ENGINES——含有几种试用版本的3D引擎。&本书的配套光盘由于包含许多不同类型的程序和数据,因而没有通用安装程序。你需要自己安装。但是,在大多数情况下,只要将SOURCE目录复制到硬盘上,然后在里面运行就可以了。对于其他程序和数据,当你需要时安装就可以了。&安装DirectX&本书的配套光盘内你唯一必须安装的重要部份是DirectX的SDK和运行时文件(Runtime&File)。安装程序位于DIRECTX目录,与解释最新改动的README.TXT&文件在一起。&注意&你至少要安装DirectX&8.0&SDK,如果你能全面的利用这些光盘就更好。如果你不确定系统里是否有最新的文件,请运行安装程序,系统会提示你。&编译本书的程序&我在Microsoft&Visual&C++&5.0/6.0的环境下编写了本书所含的程序代码。多数情况下这些程序能以任一个与Win32&兼容的编译器来编译通过。然而,我还是推荐Microsoft&VC++,因为用它作这类工作最有&效&率&。&如果你对你的编译器的集成开发环境(IDE)还不熟悉,编译Windows程序的时候你一准会遇到大&麻&烦。所以请尽管花些时间来熟悉和使用你的编译器。你至少要懂得如何编译一个”Hello&World”的控制台(console)程序或相似的小程序,然后你才能投入地继续编译其他程序。&要编译生成Windows&Win32&.EXE程序,应当将你的应用程序工程的目标程序设定为Win32&.EXE再进行编译。但是要创建DirectX程序的话,必须在工程中包含DirectX输入库。你可能认为只要将DirectX库添加到你的头文件包含路径(Include&path)中就可以了,但那样不行。为了避免麻烦,将DirectX的众多.LIB库文件手动包含到工程中或者是工作空间(Workspace)中。在安装的DirectX&SDK主目录下的LIB目录下可以找到.LIB文件。这样就不会导致任何连接错误。大部分情况下,应当还需要下面这些库:&DDRAW.LIB&DirectDraw输入库&DINPUT.LIB&DirectInput输入库&DINPUT8.LIB&DirectInput8输入库&DSOUND.LIB&DirectSound输入库&D3DIM.LIB&Direct3D直接模式(或立即模式)输入库&DXGUID.LIB&DirectX&GUID库&WINMM.LIB&Windows多媒体扩展库&对于上述文件,我们将在具体学习时再详细介绍,但是当连接程序报错说“未知的符号(Unresolved&Symbol)”时应记起这些库。我不希望收到初学程序员任何关于这问题的电子邮件。&除了DirectX&.LIB文件之外,还要在标题搜索路径中包含DirectX&.H头文件,这一点同样要牢记在心。还要确认将DirectX&SDK目录放在搜索路径列表的第一位,因为许多C++编译器自己带有旧版本的DirectX,编译器可能会在自己的INCLUDE目录下找到旧版本的头文件,而使用这些头文件是错误的。正确的位置是DirectX&SDK的include目录,即于DirectX&SDK安装目录下的INCLUDE子目录。&最后,如果使用Borland产品,要确认使用DirectX&.LIB文件的Borland版本。该文件位于DirectX&SDK安装目录下的Borland目录。&关于第二版&《Windows游戏编程大师技巧》的此次修订更新了第一版中的内容。更新是多方面的,诸如清除拼写和技术错误,并且加入新的内容,使得可用DirectX的最新版本来配合编译本书所带的程序代码(在这一版的DirectX里微软公司改编并移除了DirectDraw,真不知道他们是怎么想的!)。这新版书包括关于16&位RGB&高彩模式的更多细节,将在DirectX&8.0下通过编译,还有一个新章节专门讨论文本解析(text&parsing),此外贯穿全书更有新增的解释。总之,这是《Windows游戏编程大师技巧》的一个更加清楚,更加完全的版本。&本书主要讨论游戏程序设计;因此,涉及的DirectX仅限于让读者充分理解游戏编程中的各个主题。一般情况下,我的原则是让事情尽可能简单。DirectDraw和Direct3D的合并对3D应用程序来讲是好事,但是对2D游戏和教学来说就有点过于强大和复杂了。因此,我在未发生改变的地方使用DirectX&8.0,同时仍然使用DirectDraw&7.0来简化说明。毕竟,DirectX只是一些技术,而人们总是得为特定应用程序挑选合适的技术来用。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&☆&买&☆&家&☆&必&☆&读&☆&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&欢迎您光临本店,购买前请认真阅读以下内容:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1、本图书为正版旧书,即使是全新图书本店也一律按照旧书出售。购买前请认真核对图书名称,图片,作者,出版社和ISBN。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2、图书新旧程度均在七成新以上,不缺页,不影响正常阅读。个别例外情况我们将通过旺旺等聊天工具告知。因为均为二手图书,所以不一定配有光盘、磁带、学习卡等,请咨询店主是否附带。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&3、拍下后请尽快付款,超过12小时未付款本店将在不通知的情况下直接关闭交易。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4、本店出售的图书均以有路网实际库存和实际价格为主,如果库存充足请直接拍下,如果需要多本,请和店主联系,以免库存数量不够给您带来不便。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&5、如果您收到的商品和实际的新旧程度描述不符,请联系店主协商,我们一定会为您满意解决,请勿直接给予中评或差评,谢谢。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&6、为了保证商品安全以及买卖双方的利益,平邮一律为普通包裹。所有商品保证24小时内发货。
根据具体地址重量我们变更运费,江浙沪皖赣鄂湘闽粤7-8元;其他地区8-9元。百世汇通、快捷快递、EMS、邮政商务小包快递【50元包邮地区及不明事宜看店铺左侧公告】
您可能感兴趣的商品
【当天16:00前付款当天发货,之后次日发货,一般下午快递16:00来拉货,晚上批量录入快递单号,耐心等待不用催促哈】
包邮活动:1、满50.00元包邮;(快递)包邮地区:上海市、江苏省、浙江省、安徽省、江西省、湖南省、湖北省、广东省、福建省、河南省、河北省、山东省、北京市、天津市;2、满98.00元包邮;(快递)包邮地区:山西省、海南省、辽宁省、吉林省、黑龙江省、陕西省、云南省、贵州省、四川省、广西、重庆市;符合包邮条件的地区如超重,只收续重费。【正版二手教材一站式够齐】您在本店左上角【店铺首页】右上角进行店内搜索。【议价一律不回复】
【免费开发票】需在付款后告知需要发票及告知发票抬头单位,发货后不补开。
【图书新旧程度】正版二手教材,无破损、无缺页、无水泡、封面较新,因为均为二手书籍,所以默认没有配光盘、磁带、学习卡、激活码等附件,如附带也不保证能使用。择优发货,不影响正常阅读。影响阅读保退!请放心购买!
【客服如不在线】上架书籍基本都有库存,直接下单即可,多个订单您提交订单即可,我们会合并修改运费只收一次!{只接受网购,谢绝上门取书}确认后,手机短信提醒付款。
【关于快递及到货时间】默认汇通或快捷快递(3-5天),邮局EMS快递(3-7天)或邮政商务小包快递(3-7天)。不接受指定快递,不到付!很着急的话,可以告知走顺风(1-3)(空运、陆运),需增加运费24元起价!以上到货时间西部及偏远、个别地区除外!我们无法左右快递,运输途中的变数不可预测,实际到达时间可能有变化,我们只能催促,敬请理解!
【图书新旧程度】本店所有二手正版教材均在7-8成新左右,封皮较新;内页有笔记,不影响阅读,可帮助复习学习,{如在意笔记、如对品相苛刻的谨慎下单哦,大学二手教材大家清楚的},{也不要因为笔记多和品相而投诉或者差评中评}。正版二手教材,无破损、无缺页、无水泡、封面较新,不影响正常阅读。{是全新教材价格的四折不到}!{练习册、习题集可能笔记相对多,在意的不要下单}。
【书籍内容版本】书籍的详情我们都已经描述清楚,请自行判断是否所需。ISBN是书籍唯一身份认证。
【特别提醒】请在本店确认后24小时内付款,超期不保证库存,敬请理解!谢谢!
Copyright(C)
孔夫子旧书网
京ICP证041501号
海淀分局备案编号
购物车共有0件商品,合计:0.00元
商品已成功添加到收藏夹!}

我要回帖

更多关于 游戏编程入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信