《RTWindwos游戏编程大师技巧-》[94M]百度网盘|pdf下载|亲测有效
《RTWindwos游戏编程大师技巧-》[94M]百度网盘|pdf下载|亲测有效

RTWindwos游戏编程大师技巧- pdf下载

出版社 社会出版社
出版年 2025
页数 390页
装帧 精装
评分 8.7(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供RTWindwos游戏编程大师技巧-电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

  商品基本信息,请以下列介绍为准
商品名称:Windwos 游戏编程大师技巧-(第2版)
作者:[美]Andre LaMothe
定价:108.0
出版社:人民邮电出版社
出版日期:2012-11-01
ISBN:9787115292483
印次:
版次:第2版
装帧:
开本:小16开

  内容简介
《Windows游戏编程大师技巧(第2版)》是游戏程序设计大师AndréLaMothe的代表作。

全书分为4个部分,共计15章和6个附录。作者循循善诱地从程序设计的角度介绍了在Windows环境行游戏开发所需的全部知识括Win32编程以及DirectX中所有主要组件括DirectDraw、DirectSound、DirectInput和DirectMusic)。书中还用单独的章节详细讲授了2D图形学和光栅化技术、游戏算法、多线程编程、文本游戏和解析、人工智能括模糊逻辑、神经网络和遗传算法)、物理建模(碰撞量传递和正学)及实时模拟等游戏程序开发中的关键技术。附录部分介绍了本书光盘的内容,如何安装DirectX,回顾了数学和三角学的基础知识、C++编程的基础知识,还给出了游戏编程资源以及ASCII表。

《Windows游戏编程大师技巧(第2版)》所附光盘上带有本书中所有程序的源代码、关于Direct3D和General3D的文章和在线书籍以及众多免费的素材。

《Windows游戏编程大师技巧(第2版)》适合想要学习Windows游戏编程的人员阅读,对于有一定经验的专业游戏开发人员,也具有较高的参考价值。

  目录
部分Windows编程基础

第1章学海无涯2
1.1历史一瞥2
1.2设计游戏5
1.3游戏类型5
1.4集思广益6
1.5设计文档和情节串联图板6
1.6使游戏具有趣味性7
1.7游戏的构成7
1.8常规游戏编程指导规范11
1.9使用工具14
1.10从准备到完成——使用编译器15
1.11示例:FreakOut17
1.12小结30

第2章Windows编程模型31
2.1Windows的起源31
2.1.1早期版本的Windows31
2.1.2Windows3.x32
2.1.3Windows9532
2.1.4Windows9833
2.1.5WindowsME33
2.1.6WindowsXP33
2.1.7WindowsNT/200033
2.1.8Windows基本架构:Win9X/NT34
2.2多任务和多线程34
2.2.1获取线程的信息34
2.2.2事件模型36
2.3按照微软风格编程:匈牙利符号表示法37
2.3.1变量的命名38
2.3.2函数的命名38
2.3.3类型和常量的命名38
2.3.4类的命名38
2.3.5参数的命名39
2.4世界上简单的Windows程序39
2.4.是从WinMain()开始40
2.4.2程序剖析41
2.4.3选择一个信息框42
2.5现实中的Windows应用程序44
2.6Windows类45
2.7注册Windows类50
2.8创建窗口50
2.9事件处理程序52
2.10主事件循环57
2.11产生一个实时事件循环60
2.12打开多个窗口61
2.13小结63

第3章高级Windows编程64
3.1使用资源64
3.1.1整合资源66
3.1.2使用图标资源66
3.1.3使用光标资源68
3.1.4创建字符串表资源71
3.1.5使用.WAV声音资源73
3.1.6使用编译器创建.RC文件76
3.2使用菜单77
3.2.1创建菜单77
3.2.2装载菜单79
3.2.3响应菜单事件消息82
3.3GDI(图形设备接口)简介86
3.3.1重拾WM_PAINT信息86
3.3.2显示基础和色彩(VideoDisyBasicsandColor)90
3.3.3RGB和调色板模式91
3.3.4基本文本显示92
3.4处理重要事件97
3.4.1Windows操作97
3.4.2处理键盘事件101
3.4.3处理鼠标事件107
3.5自行发送消息109
3.6小结111

第4章WindowsGDI、控件和灵感112
4.1高级GDI绘图112
4.1.1掀开图形设备描述表的盖头来112
4.1.2颜色、画笔和画刷113
4.1.3使用画笔114
4.1.4使用画刷116
4.2点、线面多边形和圆117
4.2.1绘制点118
4.2.2绘制线段119
4.2.3绘制矩形120
4.2.4绘制圆122
4.2.5绘制多边形123
4.3深入文本和字体124
4.4定时高于一切125
4.4.1WM_TIMER消息125
4.4.2低层定时操作127
4.5使用控件130
4.5.1按钮131
4.5.2向子控件发送消息133
4.6获取信息136
4.7T3D游戏控制台程序141
4.8小结145

第二部分DirectX和2D基础

第5章DirectX基础知识和令人生畏的COM148
5.1DirectX基础148
5.1.1HEL和HAL150
5.1.2更多的DirectX基础类151
5.2COM:是微软的杰作,还是魔鬼的杰作153
5.2.1COM对象究竟是什么154
5.2.2接口标识符和GUID的详细内容156
5.2.3创建一个类COM对象157
5.2.4COM的简要回顾158
5.2.5可运行的COM程序159
5.3应用DirectXCOM对象162
5.3.1COM和函数指针163
5.3.2创建和使用DirectX界面166
5.3.3接口查询167
5.4COM的前景168
5.5小结169

第6章初次邂逅DirectDraw170
6.1DirectDraw的接口170
6.1.1接口的特性170
6.1.2组合使用接口172
6.2创建DirectDraw对象173
6.2.1对DirectDra行错误处理173
6.2.2顺便提一下接口174
6.3与Windows协作177
6.4设置模式180
6.5色彩的奥秘182
6.6创建显示表面185
6.6.1创建一个主显示表面186
6.6.2关联调色板192
6.6.3绘制像素192
6.6.4清理资源201
6.7小结202

第7章高级DirectDraw和位图图形203
7.1使用高彩模式203
7.1.116位高彩模式204
7.1.2获取像素格式205
7.1.324/32位真彩色模式211
7.2双缓冲213
7.3表面动态217
7.4页面切换220
7.5显存块移动单元(Blitter)225
7.5.1使用Blitte行内存填充227
7.5.2从一个表面向另一个表面位图232
7.6基础裁剪知识235
7.6.1将像素按视口裁剪235
7.6.2位图裁剪技巧236
7.6.3使用IDirectDrawClippe行DirectDraw裁剪241
7.7使用位图245
7.7.1载入.BMP文件245
7.7.2使用位图250
7.7.3载入8位位图251
7.7.4载入16位位图252
7.7.5载入24位位图252
7.7.结位图253
7.8离屏表面253
7.8.1创建离屏表面253
7.8.2在离屏表面行Blitting254
7.8.3设置Blitter255
7.8.4色彩键255
7.8.5源色彩键256
7.8.6目标色彩键258
7.8.7使用Blitter(终于!)259
7.9位图的旋转和缩放260
7.10离散采样理论261
7.11色彩效果265
7.11.1256色模式下的色彩动画265
7.11.2256色模式下的色彩旋转270
7.11.3使用RGB模式的技巧271
7.12手动色彩变换及查询表272
7.13新的DirectX色彩和Gamma控制接口272
7.14将GDI和DirectX联用273
7.15DirectDraw的庐山真面目275
7.15.1主DirectDraw对象275
7.15.2关于表面277
7.15.3使用调色板277
7.16在窗口模式下使用DirectDraw278
7.17小结285

第8章矢量光栅化及2D变换286
8.1绘制线条286
8.1.1Bresenham算法287
8.1.2算法的速度优化292
8.2基本2D图形裁剪294
8.2.1利用点斜式计算两条直线的交点295
8.2.2利用一般式计算两条直线的交点297
8.2.3利用矩阵式计算两条直线的交点297
8.2.4裁剪直线299
8.2.5Cohen-Sutherland算法300
8.3线框多边形306
8.3.1多边形数据结构307
8.3.2多边形的绘制及裁剪308
8.42面里的变换310
8.4.移310
8.4.2旋转312
8.4.3缩放319
8.5矩阵引论320
8.5.1单位矩阵322
8.5.2矩阵加法322
8.5.3矩阵乘法323
8.5.4使用矩行变换325
8.移326
8.7缩放327
8.8旋转327
8.9填充实心多边形329
8.9.1三角形和四边形类型330
8.9.2绘制三角形和四边形332
8.9.3三角形解构详述334
8.9.4四边形光栅化的一般性讨论341
8.9.5多边形的三角化341
8.10多边形碰撞检测345
8.10.1度、边界球/圆345
8.10.2边界盒348
8.10.3含350
8.11深入定时和同步351
8.12卷轴和摇镜头353
8.12.1页面卷轴引擎353
8.12.2均铺(Tile)显示引擎354
8.12.3稀疏位铺显示引擎358
8.13伪3D等轴测引擎359
8.13.1方法1:基于单元,全二维359
8.13.2方法2:基于全屏,具有一些二维或三维的碰撞网络361
8.13.3方法3:采用全三维数算,使用一个固定的相机视角362
8.14T3DLIB1函数库363
8.14.1引擎架构363
8.14.2新的游戏编程控制台程序364
8.14.3基本定义370
8.14.4可用的宏371
8.14.5数据类型和结构372
8.14.6全局定义375
8.14.7DirectDraw接口376
8.14.82D多边形函数379
8.14.92D基本图元函数381
8.14.10数学和误差函数385
8.14.11位图函数386
8.14.12调色板函数390
8.14.13实用工具函数392
8.15BOB引擎393
8.16小结400

第9章DirectInput输入和力反馈401
9.1输入循环401
9.2DirectInput序曲402
9.2.1DirectInput组件404
9.2.2设置DirectInput的一般步骤404
9.2.3数据采集模式405
9.2.4创建主DirectInput对象406
9.2.5101键盘407
9.2.6读数据过程中的问题:重获取413
9.2.7捕捉鼠标414
9.2.8使用游戏杆418
9.2.9将输入消息化428
9.3力反馈431
9.3.1力反馈的物理原理431
9.3.2设置力反馈431
9.3.3力反馈演示程序432
9.4编写一个广泛适用的输入系统:T3DLIB2.CPP433
9.5小结437

第10章用DirectSound和DirectMusic演奏乐曲438
10.1在PC上对声音编程438
10.2从此有了声音…439
10.3数码声音与MIDI比较——音质好且存储省441
10.3.1数码声音——从“位”开始442
10.3.2合成声音与MIDI443
10.3.3MIDI概述444
10.4发声硬件444
10.4.1波表合成444
10.4.2波导合成445
10.5数码录音:设备和技术445
10.5.1录制声音446
10.5.2处理声音446
10.6DirectSound中的麦克风446
10.7初始化DirectSound448
10.7.1理解协作等级449
10.7.2设定协作等级450
10.8主声音缓冲区与辅助声音缓冲区450
10.8.1使用辅助缓冲区450
10.8.2创建辅助声音缓冲区451
10.8.3把数据写入辅助声音缓冲区453
10.9渲染声音454
10.9.1播放声音455
10.9.2停止播放455
10.9.3控制音量455
10.9.4调整频率456
10.9.5调整声衡456
10.10用DirectSound反馈信息456
10.11从磁盘中读取声音数据458
10.11.1.WAV文件格式458
10.11.2读取.WAV文件458
10.12DirectMusic:伟大的试验462
10.13DirectMusic的体系结构463
10.14初始化DirectMusic464
10.14.1初始化COM464
10.14.2创建一个演奏对象464
10.14.3给演奏对象增加端口465
10.15加载一个MIDI段466
10.15.1创建一个加载程序466
10.15.2加载MIDI文件466
10.16操作MIDI段469
10.16.1播放一个MIDI段469
10.16.2停止一个MIDI段469
10.16.3检查MIDI段的状态469
10.16.4释放一个MIDI段470
10.16.5关闭DirectMusic470
10.16.6一些DirectMusic的实例470
10.17T3DLIB3声音和乐曲库470
10.17.1头文件471
10.17.2类型471
10.17.3全局变量472
10.17.4DirectSoundAPI封装472
10.17.5DirectMusicAPI封装476
10.18小结478

第三部分核心游戏编程

第11章算法、数据结构、内存管理和多线程480
11.1数据结构480
11.1.1静态结构和数组480
11.1.2链表481
11.2算法分析487
11.3递归489
11.4树结构490
11.4.1建立二分查找树(BST)493
11.4.2搜索BST495
11.5优化理论497
11.5.1运用你的头脑497
11.5.2数学技巧498
11.5.3定点运算499
11.5.4循环体展开502
11.5.5查找表502
11.5.6汇编语言503
11.6制作演示504
11.6.1预先记录的演示504
11.6.2由人工智能控制的演示505
11.7保存游戏的手段505
11.8实现多人游戏506
11.8.1轮流506
11.8.2分屏506
11.9多线程编程技术507
11.9.1多线程编程的术语508
11.9.2为何要在游戏中使用线程509
11.9.3取得一个线程510
11.9.4线程间的消息传递516
11.9.5等待合适时机520
11.9.6多线程和DirectX526
11.9.7高级多线程编程526
10.10小结527

第12章人工智能528
12.1人工智能初步528
12.2确定性AI算法529
12.2.1随机运动530
12.2.2跟踪算法531
12.2.3反跟踪:闪避算法534
12.3模式以及基本控制脚本的编写535
12.3.1基本模式535
12.3.2具备条件逻辑处理的模式539
12.4行为状态系统建模540
12.4.1基本状态机541
12.4.2加入更多表现个性的行为544
12.5用软件对记忆和学行建模546
12.6计划树和决策树548
12.6.1计划编程549
12.6.2实现真正的计划生成器552
12.7寻路553
12.7.1试探法(TrialandError)554
12.7.2轮廓跟踪555
12.7.3碰撞规避跟踪555
12.7.4路点寻路556
12.7.5一个赛车例子559
12.7.6可靠的寻路559
12.8高级AI脚本563
12.8.1设计脚本语言563
12.8.2使用C/C++编译器565
12.9人工神经网络568
12.10遗传算法571
12.11模糊逻辑573
12.11.1普通集合论573
12.11.2模糊集合理论574
12.11.3模糊语言变量及其规则575
12.11.4模糊流形与成员关系577
12.11.5模糊关联矩阵581
12.11.6用模糊化的输入处理FAM583
12.11.7暖融融589
12.12为游戏创造真正的AI589
12.13小结589

第13章基本物理建模590
13.1基本物理学定律591
13.1.1质量(m)591
13.1.2时间(t)591
13.1.3位置(s)592
13.1.4速率(v)593
13.1.5加速度(a)594
13.1.6力(F)597
13.1.7多维空间中的力598
13.1.8动量(P)598
13.2线性动量的物理性质:守恒与传递599
13.3模拟万有引力效果601
13.3.1模拟重力井603
13.3.2模拟炮弹弹道604
13.4讨厌的摩擦力607
13.4.1摩擦基本概念607
13.4.2斜面上的摩擦力(高级)609
13.5基本的特殊碰撞反应611
13.5.1简单的x,y反弹物理611
13.5.2计算任意方向上面碰撞反应614
13.5.3矢量反射示例616
13.5.4线段的交点617
13.6实际2D物体间的碰撞响应(高级)621
13.7解决n-t坐标系统624
13.8简单运动学630
13.8.1求解正向运动学问题631
13.8.2解决学问题633
13.9粒子系统634
13.9.1每颗粒子都需要的东西635
13.9.2设计粒子引擎635
13.9.3粒子引擎软件636
13.9.4产生初始条件640
13.9.5整合微粒系统642
13.10创建游戏的物理模型643
13.10.1物理建模的数据结构643
13.10.2基于帧的模拟与基于时间的模拟643
13.11小结645

第14章文字时代646
14.1什么是文字游戏647
14.2文字游戏如何工作647
14.3从外部世界获得输入650
14.4语言分析和解析651
14.4.1词法分析655
14.4.2句法分析660
14.4.3语义分析662
14.5组成游戏世界663
14.5.1表示场景663
14.5.2放置物体665
14.5.3让事情发生666
14.5.4自由移动666
14.5.5物品系统666
14.6实现视觉、听觉和嗅觉666
14.6.1听觉667
14.6.2嗅觉668
14.6.3视觉668
14.7实时响应670
14.8错误处理671
14.9造访ShadowLand671
14.10ShadowLand中使用的语言671
14.11编译和运行ShadowLand673
14.12小结674

第15章综合运用675
15.1Outpost的设计初稿675
15.1.1游戏背景675
15.1.2设计游戏玩法676
15.2用于编写游戏的工具676
15.3游戏场景:在太空中卷动677
15.4玩家控制的飞船:鬼怪号678
15.5小行星带680
15.6敌人681
15.6.1边哨(Outpost)681
15.6.2捕食者太空雷682
15.6.3战舰682
15.7“宝物”685
15.8HUD685
15.9粒子系统688
15.10玩游戏689
15.11编译Outpost689
15.12结束语690

第四部分附录

附录A光盘内容简介694
附录B安装DirectX和使用C/C++编译器696
附录C数学和三角学回顾699
附录DC++入门709
附录E游戏编程资源727
附录FASCII表731

  媒体评论
André LaMothe编著的《Windows游戏编程大师技巧(第2版)》假定你有编程的基础。如果你还不懂如何编写C语言程序,那么阅读本书的某些部分可能会使你感到相当困惑。但让C语言程序员感到不适应的是,本书中又有一定的示例程序是用C++写的。不过别担心,在我要做任何古怪的事情以前,我都会提醒你。或许,如果你需要关于C++程序设计的速成课程,本书的附录D可作为一份C+十入门读本来使用。基本上本书只在用到DireCtX的场合里才使用C++。

  作者简介
本书作者Andre LaMothe有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。作者的著作以及参与策划的套系,都成为游戏设计和开发领域的经典。