书籍详情
C++游戏开发
作者:David Conger with Ron Little
出版社:机械工业出版社
出版时间:2006-11-01
ISBN:9787111196860
定价:¥39.00
购买这本书可以去
内容简介
本书系统介绍使用C++进行游戏编程的概念、方法、技巧、实例以及综合运用。本书共分为五部分,第一部分简要介绍编写游戏所需的工具和技能,包括大量有关编程的基本概念。第二部分深入介绍面向对象编程。第三部分展示如何构建游戏程序,并以Ping游戏为例进行全面讨论, 包括如何为游戏添加声音。第四部分介绍编写游戏所需的高组C++技能。第五部分以游戏Invasion of Slugwroths为例介绍如何综合运用本书的知识。本书的随书配套光盘提供游戏编程所需的编译器、连接器和调试器、游戏引擎,以及书中的示例代码和推荐读物等。本书是游戏编程的入门级读物,不要求具备计算机编程的基本知识。既适合作为有志于成为游戏程序员的读者的基础读物,也可用作游戏程序员的参考书。
作者简介
暂缺《C++游戏开发》作者简介
目录
译者序
前言
致谢
第一部分基 础 知 识
第1章成为游戏程序员需要什么
11编程技能
111计算机程序是什么
112C++编程语言
113游戏编程工具
12计算机图形学
121计算机图形学基础
122在计算机屏幕上显示图片
123实现游戏动画
13游戏设计技能
131构造游戏代码
132让游戏变好
14美术技能
15声音和音乐技能
16小结
第2章编写C++程序
21DevC++编译器简介
211创建一个项目
212编写程序
213编译和连接程序
22用C++编程
221main()的内容
222变量
223输出到屏幕
224从键盘输入
225流和include语句
226函数
227基本数学运算
228循环
23Windows 编程
231WinMain()
232消息和消息处理
24游戏编程
241什么是OpenGL
242什么是OpenAL
243OpenGL、OpenAL和
Directx
25小结
第二部分游戏中的面向对象编程
第3章面向对象编程简介
31软件对象
32类
321成员数据
322成员函数
323构造函数和析构函数
324内联成员函数
33逻辑运算符
34ifelse 语句
35名字空间和域解析
36结构简介
37小结
第4章LlamaWorks2D 游戏引擎
简介
41分步概览
411第1阶段:创建一个
DevC++项目
412第2阶段:配置DevC++
项目
413第3阶段:编写一个游戏类
414第4阶段:编译和运行这个
程序
42LlamaWorks2D 是如何工作的
43一个静止的球
44一个弹跳的球
45得到好的结果
46小结
第5章函数重载和运算符重载
51什么是重载
511重载函数
512重载运算符
52用重载实现一个向量类
521重载vector构造函数
522向量的加法和减法
523向量的乘法
524向量的除法
525“运算符等号”式运算符
526大小
527单元向量
53小结
第6章继承——事半功倍
61什么是继承
62派生类
63受保护的成员
64覆盖基类函数
65使用继承定制自己的游戏
66小结
第三部分游戏开发基础
第7章 程序结构
71程序结构概述
711设计游戏对象
712设计游戏任务
72文件结构
73Ping游戏
731Ping简介
732编写Ping
733创建游戏对象
734映射其他的Windows
消息
735初始化程序
736初始化游戏
737初始化关卡
738处理消息
739更新帧
7310渲染帧
7311消除关卡
7312消除游戏
74小结
第8章声音效果和音乐
81声音效果和音乐是情感
82存储声音数据
821数字化声音
822MIDI文件
823声音存储技术比较
83LlamaWorks2D中的声音效果
831载入声音
832播放声音
833添加背景音乐
834控制音量
84噪音、悦耳的噪音
841寻找声音效果
842制作自己的声音效果
85播放有趣的音乐
851寻找音乐
852制作自己的音乐
86小结
第四部分C++进阶
第9章C++中的浮点数数学
91深入剖析浮点数
911浮点数和精度错误
912浮点数和舍入错误
92案例学习:浮点数和游戏空间
921什么是游戏空间
922编写一个使用浮点数的
向量类
923CannonShoot:一个使用中的
游戏空间
924介绍Cannonshoot类
925实现Cannonshoot类
926创建Cannonball
927创建Cannon
93小结
第10章数组
101什么是数组
102声明数组和使用数组
1021二维数组
1022三维数组
103初始化数组
104数组边界的问题
105小结
第11章指针
111为什么指针对游戏很重要
112声明和使用指针
113指针和动态内存分配
1131分配内存
1132释放内存
114指针和继承
115数组是伪装的指针
116小结
第12章文件输入和输出
121游戏和文件I/O
122文件的类型
1221文本文件
1222二进制文件
123小结
第13章深入真正的游戏开发
131活起来的精灵
1311精灵和动画帧
1312LlamaWorks2D中的动画
精灵
1313修改CannonShoot
132高速输入
1321立即模式输入简介
1322Ping和立即模式输入
133小结
第五部分大回报
第14章严阵以待
141开发一款真正的游戏需要什么
142游戏设计基础
1421良好游戏设计的要素
1422游戏设计过程
143设计Invasion of the
Slugwroths
1431头脑风暴
1432目标
1433体验
1434外观
1435钩子
1436设计文档
144小结
第15章Captain Chloride 行动起来
151引入Captain Chloride
1511设计chloride类
1512实现chloride类
152整合到游戏类中
153小结
第16章Captain Chloride的世界
161新的Captain Chloride
162LlamaWorks2D中的关卡
1621XML关卡文件
1622Invasion of the Slugwroths
的一个关卡文件
1623解析关卡文件
1624载入一个关卡
1625更新一个关卡
1626渲染一个关卡
163小结
第17章Captain Chloride遇到
实体对象
171撞倒一扇实体门上
1711冲突管理
1712一个基本的门
1713能够发生冲突的Captain
Chloride
1714Captain Chloride实际
冲突
172捡起钥匙
1721可以捡起的对象
1722让Captain Chloride捡起
东西
173让门打开和关闭
173125维的奇遇
1732实际使用25维编程
174小结
第18章大结局
181巩固知识
182坏人登场
1821设计一个简单的
Slugwroths
1822实现Slugwroths类
183游戏附加内容
184结语:并非终结
术语表
前言
致谢
第一部分基 础 知 识
第1章成为游戏程序员需要什么
11编程技能
111计算机程序是什么
112C++编程语言
113游戏编程工具
12计算机图形学
121计算机图形学基础
122在计算机屏幕上显示图片
123实现游戏动画
13游戏设计技能
131构造游戏代码
132让游戏变好
14美术技能
15声音和音乐技能
16小结
第2章编写C++程序
21DevC++编译器简介
211创建一个项目
212编写程序
213编译和连接程序
22用C++编程
221main()的内容
222变量
223输出到屏幕
224从键盘输入
225流和include语句
226函数
227基本数学运算
228循环
23Windows 编程
231WinMain()
232消息和消息处理
24游戏编程
241什么是OpenGL
242什么是OpenAL
243OpenGL、OpenAL和
Directx
25小结
第二部分游戏中的面向对象编程
第3章面向对象编程简介
31软件对象
32类
321成员数据
322成员函数
323构造函数和析构函数
324内联成员函数
33逻辑运算符
34ifelse 语句
35名字空间和域解析
36结构简介
37小结
第4章LlamaWorks2D 游戏引擎
简介
41分步概览
411第1阶段:创建一个
DevC++项目
412第2阶段:配置DevC++
项目
413第3阶段:编写一个游戏类
414第4阶段:编译和运行这个
程序
42LlamaWorks2D 是如何工作的
43一个静止的球
44一个弹跳的球
45得到好的结果
46小结
第5章函数重载和运算符重载
51什么是重载
511重载函数
512重载运算符
52用重载实现一个向量类
521重载vector构造函数
522向量的加法和减法
523向量的乘法
524向量的除法
525“运算符等号”式运算符
526大小
527单元向量
53小结
第6章继承——事半功倍
61什么是继承
62派生类
63受保护的成员
64覆盖基类函数
65使用继承定制自己的游戏
66小结
第三部分游戏开发基础
第7章 程序结构
71程序结构概述
711设计游戏对象
712设计游戏任务
72文件结构
73Ping游戏
731Ping简介
732编写Ping
733创建游戏对象
734映射其他的Windows
消息
735初始化程序
736初始化游戏
737初始化关卡
738处理消息
739更新帧
7310渲染帧
7311消除关卡
7312消除游戏
74小结
第8章声音效果和音乐
81声音效果和音乐是情感
82存储声音数据
821数字化声音
822MIDI文件
823声音存储技术比较
83LlamaWorks2D中的声音效果
831载入声音
832播放声音
833添加背景音乐
834控制音量
84噪音、悦耳的噪音
841寻找声音效果
842制作自己的声音效果
85播放有趣的音乐
851寻找音乐
852制作自己的音乐
86小结
第四部分C++进阶
第9章C++中的浮点数数学
91深入剖析浮点数
911浮点数和精度错误
912浮点数和舍入错误
92案例学习:浮点数和游戏空间
921什么是游戏空间
922编写一个使用浮点数的
向量类
923CannonShoot:一个使用中的
游戏空间
924介绍Cannonshoot类
925实现Cannonshoot类
926创建Cannonball
927创建Cannon
93小结
第10章数组
101什么是数组
102声明数组和使用数组
1021二维数组
1022三维数组
103初始化数组
104数组边界的问题
105小结
第11章指针
111为什么指针对游戏很重要
112声明和使用指针
113指针和动态内存分配
1131分配内存
1132释放内存
114指针和继承
115数组是伪装的指针
116小结
第12章文件输入和输出
121游戏和文件I/O
122文件的类型
1221文本文件
1222二进制文件
123小结
第13章深入真正的游戏开发
131活起来的精灵
1311精灵和动画帧
1312LlamaWorks2D中的动画
精灵
1313修改CannonShoot
132高速输入
1321立即模式输入简介
1322Ping和立即模式输入
133小结
第五部分大回报
第14章严阵以待
141开发一款真正的游戏需要什么
142游戏设计基础
1421良好游戏设计的要素
1422游戏设计过程
143设计Invasion of the
Slugwroths
1431头脑风暴
1432目标
1433体验
1434外观
1435钩子
1436设计文档
144小结
第15章Captain Chloride 行动起来
151引入Captain Chloride
1511设计chloride类
1512实现chloride类
152整合到游戏类中
153小结
第16章Captain Chloride的世界
161新的Captain Chloride
162LlamaWorks2D中的关卡
1621XML关卡文件
1622Invasion of the Slugwroths
的一个关卡文件
1623解析关卡文件
1624载入一个关卡
1625更新一个关卡
1626渲染一个关卡
163小结
第17章Captain Chloride遇到
实体对象
171撞倒一扇实体门上
1711冲突管理
1712一个基本的门
1713能够发生冲突的Captain
Chloride
1714Captain Chloride实际
冲突
172捡起钥匙
1721可以捡起的对象
1722让Captain Chloride捡起
东西
173让门打开和关闭
173125维的奇遇
1732实际使用25维编程
174小结
第18章大结局
181巩固知识
182坏人登场
1821设计一个简单的
Slugwroths
1822实现Slugwroths类
183游戏附加内容
184结语:并非终结
术语表
猜您喜欢