图书介绍
Windows游戏编程大师技巧 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)AndréLaMothe著;沙鹰译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115292483
- 出版时间:2012
- 标注页数:735页
- 文件大小:267MB
- 文件页数:758页
- 主题词:游戏程序-程序设计
PDF下载
下载说明
Windows游戏编程大师技巧 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 Windows编程基础2
第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.1 Windows的起源31
2.1.1早期版本的Windows31
2.1.2 Windows 3.x32
2.1.3 Windows 9532
2.1.4 Windows 9833
2.1.5 Windows ME33
2.1.6 Windows XP33
2.1.7 Windows NT/200033
2.1.8 Windows基本架构: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.1总是从WinMain()开始40
2.4.2程序剖析41
2.4.3选择一个信息框42
2.5现实中的Windows应用程序44
2.6 Windows类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.3 GDI(图形设备接口)简介86
3.3.1重拾WM PAINT信息86
3.3.2视频显示基础和色彩(Video Display Basics and Color)90
3.3.3 RGB和调色板模式91
3.3.4基本文本显示92
3.4处理重要事件97
3.4.1 Windows操作97
3.4.2处理键盘事件101
3.4.3处理鼠标事件107
3.5自行发送消息109
3.6小结111
第4章 Windows GDI、控件和灵感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.1 WM_TIMER消息125
4.4.2低层定时操作127
4.5使用控件130
4.5.1按钮131
4.5.2向子控件发送消息133
4.6获取信息136
4.7 T3D游戏控制台程序141
4.8小结145
第二部分 DirectX和2D基础148
第5章 DirectX基础知识和令人生畏的COM148
5.1 DirectX基础148
5.1.1 HEL和HAL150
5.1.2更多的DirectX基础类151
5.2 COM:是微软的杰作,还是魔鬼的杰作153
5.2.1 COM对象究竟是什么154
5.2.2接口标识符和GUID的详细内容156
5.2.3创建一个类COM对象157
5.2.4 COM的简要回顾158
5.2.5可运行的COM程序159
5.3应用DirectX COM对象162
5.3.1 COM和函数指针163
5.3.2创建和使用DirectX界面166
5.3.3接口查询167
5.4 COM的前景168
5.5小结169
第6章 初次邂逅DirectDraw170
6.1 DirectDraw的接口170
6.1.1接口的特性170
6.1.2组合使用接口172
6.2创建DirectDraw对象173
6.2.1对DirectDraw进行错误处理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.1 16位高彩模式204
7.1.2获取像素格式205
7.1.3 24/32位真彩色模式211
7.2双缓冲213
7.3表面动态217
7.4页面切换220
7.5显存块移动单元(Blitter)225
7.5.1使用Blitter进行内存填充227
7.5.2从一个表面向另一个表面复制位图232
7.6基础裁剪知识235
7.6.1将像素按视口裁剪235
7.6.2位图裁剪技巧236
7.6.3使用IDirectDrawClipper进行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.6总结位图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.1 256色模式下的色彩动画265
7.11.2 256色模式下的色彩旋转270
7.11.3使用RGB模式的技巧271
7.12手动色彩变换及查询表272
7.13新的DirectX色彩和Gamma控制接口272
7.14将GDI和DirectX联用273
7.15 DirectDraw的庐山真面目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.1 Bresenham算法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.5 Cohen-Sutherland算法300
8.3线框多边形306
8.3.1多边形数据结构307
8.3.2多边形的绘制及裁剪308
8.4 2D平面里的变换310
8.4.1平移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.6平移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.14 T3DLIB1函数库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.7 DirectDraw接口376
8.14.8 2D多边形函数379
8.14.9 2D基本图元函数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.2 DirectInput序曲402
9.2.1 DirectInput组件404
9.2.2设置DirectInput的一般步骤404
9.2.3数据采集模式405
9.2.4创建主DirectInput对象406
9.2.5 101键盘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.3 MIDI概述444
10.4发声硬件444
10.4.1波表合成444
10.4.2波导合成445
10.5数码录音:设备和技术445
10.5.1录制声音446
10.5.2处理声音446
10.6 DirectSound中的麦克风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.12 DirectMusic:伟大的试验462
10.13 DirectMusic的体系结构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.17 T3DLIB3声音和乐曲库470
10.17.1头文件471
10.17.2类型471
10.17.3全局变量472
10.17.4 DirectSound API封装472
10.17.5 DirectMusic API封装476
10.18小结478
第三部分 核心游戏编程480
第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试探法(Trial and Error)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造访Shadow Land671
14.10 Shadow Land中使用的语言671
14.11编译和运行Shadow Land673
14.12小结674
第15章 综合运用675
15.1 Outpost的设计初稿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.8 HUD685
15.9粒子系统688
15.10玩游戏689
15.11编译Outpost689
15.12结束语690
第四部分 附录694
附录A 光盘内容简介694
附录B 安装DirectX和使用C/C++编译器696
附录C 数学和三角学回顾699
附录D C++入门709
附录E 游戏编程资源727
附录F ASCII表731
热门推荐
- 2019972.html
- 1803802.html
- 3684344.html
- 510512.html
- 1486182.html
- 1725928.html
- 1660298.html
- 2588355.html
- 561141.html
- 1004622.html
- http://www.ickdjs.cc/book_866724.html
- http://www.ickdjs.cc/book_914367.html
- http://www.ickdjs.cc/book_3541570.html
- http://www.ickdjs.cc/book_1076050.html
- http://www.ickdjs.cc/book_1843129.html
- http://www.ickdjs.cc/book_400626.html
- http://www.ickdjs.cc/book_1073646.html
- http://www.ickdjs.cc/book_2679980.html
- http://www.ickdjs.cc/book_2240254.html
- http://www.ickdjs.cc/book_3588982.html