图书介绍

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

Windows游戏编程大师技巧 第2版
  • (美)AndréLaMothe著;沙鹰译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115292483
  • 出版时间:2012
  • 标注页数:735页
  • 文件大小:267MB
  • 文件页数:758页
  • 主题词:游戏程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐