Creating games in C++ a step-by-step guide
副标题:无
作 者:(美)David Conger等著;谯谊,刘红伟等译
分类号:
ISBN:9787111196860
微信扫一扫,移动浏览光盘
简介
本书介绍编写游戏所需的工具和技能,包括大量有关编程的基本概念。展示如何构建游戏程序,并以Ping游戏为例进行全面讨论,包括如何为游戏添加声音。
目录
目录
译者序
前言
致谢
第一部分 基础知识
第1章 成为游戏程序员需要什么
1.1 编程技能
1.1.1 计算机程序是什么
1.1.2 C++编程语言
1.1.3 游戏编程工具
1.2 计算机图形学
1.2.1 计算机图形学基础
1.2.2 在计算机屏幕上显示图片
1.2.3 实现游戏动画
1.3 游戏设计技能
1.3.1 构造游戏代码
1.3.2 让游戏变好
1.4 美术技能
1.5 声音和音乐技能
1.6 小结
第2章 编写C++程序
2.1 Dev-C++编译器简介
2.1.1 创建一个项目
2.1.2 编写程序
2.1.3 编译和连接程序
2.2 用C++编程
2.2.1 main()的内容
2.2.2 变量
2.2.3 输出到屏幕
2.2.4 从键盘输入
2.2.5 流和include语句
2.2.6 函数
2.2.7 基本数学运算
2.2.8 循环
2.3 Windows编程
2.3.1 WinMain()
2.3.2 消息和消息处理
2.4 游戏编程
2.4.1 什么是OpenGL
2.4.2 什么是OpenAL
2.4.3 OpenGL、OpenAL和Directx
2.5 小结
第二部分 游戏中的面向对象编程
第3章 面向对象编程简介
3.1 软件对象
3.2 类
3.2.1 成员数据
3.2.2 成员函数
3.2.3 构造函数和析构函数
3.2.4 内联成员函数
3.3 逻辑运算符
3.4 if-else语句
3.5 名字空间和域解析
3.6 结构简介
3.7 小结
第4章 LlamaWorks2D游戏引擎简介
4.1 分步概览
4.1.1 第1阶段:创建一个Dev-C++项目
4.1.2 第2阶段:配置Dev-C++项目
4.1.3 第3阶段:编写一个游戏类
4.1.4 第4阶段:编译和运行这个程序
4.2 L1amaWorks2D是如何工作的
4.3 一个静止的球
4.4 一个弹跳的球
4.5 得到好的结果
4.6 小结
第5章 函数重载和运算符重载
5.1 什么是重载
5.1.1 重载函数
5.1.2 重载运算符
5.2 用重载实现一个向量类
5.2.1 重载cector构造函数
5.2.2 向量的加法和减法
5.2.3 向量的乘法
5.2.4 向量的除法
5.2.5 “运算符-等号”式运算符
5.2.6 大小
5.2.7 单元向量
5.3 小结
第6章 继承——事半功倍
6.1 什么是继承
6.2 派生类
6.3 受保护的成员
6.4 覆盖基类函数
6.5 使用继承定制自己的游戏
6.6 小结
第三部分 游戏开发基础
第7章 程序结构
7.1 程序结构概述
7.1.1 设计游戏对象
7.1.2 设计游戏任务
7.2 文件结构
7.3 Ping游戏
7.3.1 Ping简介
7.3.2 编写Ping
7.3.3 创建游戏对象
7.3.4 映射其他的Windows消息
7.3.5 初始化程序
7.3.6 初始化游戏
7.3.7 初始化关卡
7.3.8 处理消息
7.3.9 更新帧
7.3.10 渲染帧
7.3.11 消除关卡
7.3.12 消除游戏
7.4 小结
第8章 声音效果和音乐
8.1 声音效果和音乐是情感
8.2 存储声音数据
8.2.1 数字化声音
8.2.2 MIDI文件
8.2.3 声音存储技术比较
8.3 L1amaWorks2D中的声音效果
8.3.1 载入声音
8.3.2 播放声音
8.3.3 添加背景音乐
8.3.4 控制音量
8.4 噪音、悦耳的噪音
8.4.1 寻找声音效果
8.4.2 制作自己的声音效果
8.5 播放有趣的音乐
8.5.1 寻找音乐
8.5.2 制作自己的音乐
8.6 小结
第四部分 C++进阶
第9章 C++中的浮点数数学
9.1 深入剖析浮点数
9.1.1 浮点数和精度错误
9.1.2 浮点数和舍入错误
9.2 案例学习:浮点数和游戏空间
9.2.1 什么是游戏空间
9.2.2 编写一个使用浮点数的向量类
9.2.3 CannonShoot:一个使用中的游戏空间
9.2.4 介绍cannonshoot类
9.2.5 实现cannonshoot类
9.2.6 创建cannonball
9.2.7 创建cannon
9.3 小结
第10章 数组
10.1 什么是数组
10.2 声明数组和使用数组
10.2.1 二维数组
10.2.2 三维数组
10.3 初始化数组
10.4 数组边界的问题
10.5 小结
第11章 指针
11.1 为什么指针对游戏很重要
11.2 声明和使用指针
11.3 指针和动态内存分配
11.3.1 分配内存
11.3.2 释放内存
11.4 指针和继承
11.5 数组是伪装的指针
11.6 小结
第12章 文件输入和输出
12.1 游戏和文件I/O
12.2 文件的类型
12.2.1 文本文件
12.2.2 二进制文件
12.3 小结
第13章 深入真正的游戏开发
13.1 活起来的精灵
13.1.1 精灵和动画帧
13.1.2 LlamaWorks2D中的动画精灵
13.1.3 修改CannonShoot
13.2 高速输入
13.2.1 立即模式输入简介
13.2.2 Ping和立即模式输入
13.3 小结
第五部分 大回报
第14章 严阵以待
14.1 开发一款真正的游戏需要什么
14.2 游戏设计基础
14.2.1 良好游戏设计的要素
14.2.2 游戏设计过程
14.3 设计Invasion of the Slugwroths
14.3.1 头脑风暴
14.3.2 目标
14.3.3 体验
14.3.4 外观
14.3.5 钩子
14.3.6 设计文档
14.4 小结
第15章 Captain Chloride行动起来
15.1 引入Captain Chloride
15.1.1 设计chloride类
15.1.2 实现chloride类
15.2 整合到游戏类中
15.3 小结
第16章 Captain Chloride的世界
16.1 新的Captain Chloride
16.2 LlamaWorks2D中的关卡
16.2.1 XML关卡文件
16.2.2 Invasion of the Slugwroths的一个关卡文件
16.2.3 解析关卡文件
16.2.4 载入一个关卡
16.2.5 更新一个关卡
16.2.6 渲染一个关卡
16.3 小结
第17章 Captain Chloride遇到实体对象
17.1 撞倒一扇实体门上
17.1.1 冲突管理
17.1.2 一个基本的门
17.1.3 能够发生冲突的CaptainChloride
17.1.4 Captain Chloride实际冲突
17.2 捡起钥匙
17.2.1 可以捡起的对象
17.2.2 让Captain Chloride捡起东西
17.3 让门打开和关闭
17.3.1 2.5维的奇遇
17.3.2 实际使用2.5维编程
17.4 小结
第18章 大结局
18.1 巩固知识
18.2 坏人登场
18.2.1 设计一个简单的Slugwroths
18.2.2 实现Slugwroths类
18.3 游戏附加内容
18.4 结语:并非终点
术语表
译者序
前言
致谢
第一部分 基础知识
第1章 成为游戏程序员需要什么
1.1 编程技能
1.1.1 计算机程序是什么
1.1.2 C++编程语言
1.1.3 游戏编程工具
1.2 计算机图形学
1.2.1 计算机图形学基础
1.2.2 在计算机屏幕上显示图片
1.2.3 实现游戏动画
1.3 游戏设计技能
1.3.1 构造游戏代码
1.3.2 让游戏变好
1.4 美术技能
1.5 声音和音乐技能
1.6 小结
第2章 编写C++程序
2.1 Dev-C++编译器简介
2.1.1 创建一个项目
2.1.2 编写程序
2.1.3 编译和连接程序
2.2 用C++编程
2.2.1 main()的内容
2.2.2 变量
2.2.3 输出到屏幕
2.2.4 从键盘输入
2.2.5 流和include语句
2.2.6 函数
2.2.7 基本数学运算
2.2.8 循环
2.3 Windows编程
2.3.1 WinMain()
2.3.2 消息和消息处理
2.4 游戏编程
2.4.1 什么是OpenGL
2.4.2 什么是OpenAL
2.4.3 OpenGL、OpenAL和Directx
2.5 小结
第二部分 游戏中的面向对象编程
第3章 面向对象编程简介
3.1 软件对象
3.2 类
3.2.1 成员数据
3.2.2 成员函数
3.2.3 构造函数和析构函数
3.2.4 内联成员函数
3.3 逻辑运算符
3.4 if-else语句
3.5 名字空间和域解析
3.6 结构简介
3.7 小结
第4章 LlamaWorks2D游戏引擎简介
4.1 分步概览
4.1.1 第1阶段:创建一个Dev-C++项目
4.1.2 第2阶段:配置Dev-C++项目
4.1.3 第3阶段:编写一个游戏类
4.1.4 第4阶段:编译和运行这个程序
4.2 L1amaWorks2D是如何工作的
4.3 一个静止的球
4.4 一个弹跳的球
4.5 得到好的结果
4.6 小结
第5章 函数重载和运算符重载
5.1 什么是重载
5.1.1 重载函数
5.1.2 重载运算符
5.2 用重载实现一个向量类
5.2.1 重载cector构造函数
5.2.2 向量的加法和减法
5.2.3 向量的乘法
5.2.4 向量的除法
5.2.5 “运算符-等号”式运算符
5.2.6 大小
5.2.7 单元向量
5.3 小结
第6章 继承——事半功倍
6.1 什么是继承
6.2 派生类
6.3 受保护的成员
6.4 覆盖基类函数
6.5 使用继承定制自己的游戏
6.6 小结
第三部分 游戏开发基础
第7章 程序结构
7.1 程序结构概述
7.1.1 设计游戏对象
7.1.2 设计游戏任务
7.2 文件结构
7.3 Ping游戏
7.3.1 Ping简介
7.3.2 编写Ping
7.3.3 创建游戏对象
7.3.4 映射其他的Windows消息
7.3.5 初始化程序
7.3.6 初始化游戏
7.3.7 初始化关卡
7.3.8 处理消息
7.3.9 更新帧
7.3.10 渲染帧
7.3.11 消除关卡
7.3.12 消除游戏
7.4 小结
第8章 声音效果和音乐
8.1 声音效果和音乐是情感
8.2 存储声音数据
8.2.1 数字化声音
8.2.2 MIDI文件
8.2.3 声音存储技术比较
8.3 L1amaWorks2D中的声音效果
8.3.1 载入声音
8.3.2 播放声音
8.3.3 添加背景音乐
8.3.4 控制音量
8.4 噪音、悦耳的噪音
8.4.1 寻找声音效果
8.4.2 制作自己的声音效果
8.5 播放有趣的音乐
8.5.1 寻找音乐
8.5.2 制作自己的音乐
8.6 小结
第四部分 C++进阶
第9章 C++中的浮点数数学
9.1 深入剖析浮点数
9.1.1 浮点数和精度错误
9.1.2 浮点数和舍入错误
9.2 案例学习:浮点数和游戏空间
9.2.1 什么是游戏空间
9.2.2 编写一个使用浮点数的向量类
9.2.3 CannonShoot:一个使用中的游戏空间
9.2.4 介绍cannonshoot类
9.2.5 实现cannonshoot类
9.2.6 创建cannonball
9.2.7 创建cannon
9.3 小结
第10章 数组
10.1 什么是数组
10.2 声明数组和使用数组
10.2.1 二维数组
10.2.2 三维数组
10.3 初始化数组
10.4 数组边界的问题
10.5 小结
第11章 指针
11.1 为什么指针对游戏很重要
11.2 声明和使用指针
11.3 指针和动态内存分配
11.3.1 分配内存
11.3.2 释放内存
11.4 指针和继承
11.5 数组是伪装的指针
11.6 小结
第12章 文件输入和输出
12.1 游戏和文件I/O
12.2 文件的类型
12.2.1 文本文件
12.2.2 二进制文件
12.3 小结
第13章 深入真正的游戏开发
13.1 活起来的精灵
13.1.1 精灵和动画帧
13.1.2 LlamaWorks2D中的动画精灵
13.1.3 修改CannonShoot
13.2 高速输入
13.2.1 立即模式输入简介
13.2.2 Ping和立即模式输入
13.3 小结
第五部分 大回报
第14章 严阵以待
14.1 开发一款真正的游戏需要什么
14.2 游戏设计基础
14.2.1 良好游戏设计的要素
14.2.2 游戏设计过程
14.3 设计Invasion of the Slugwroths
14.3.1 头脑风暴
14.3.2 目标
14.3.3 体验
14.3.4 外观
14.3.5 钩子
14.3.6 设计文档
14.4 小结
第15章 Captain Chloride行动起来
15.1 引入Captain Chloride
15.1.1 设计chloride类
15.1.2 实现chloride类
15.2 整合到游戏类中
15.3 小结
第16章 Captain Chloride的世界
16.1 新的Captain Chloride
16.2 LlamaWorks2D中的关卡
16.2.1 XML关卡文件
16.2.2 Invasion of the Slugwroths的一个关卡文件
16.2.3 解析关卡文件
16.2.4 载入一个关卡
16.2.5 更新一个关卡
16.2.6 渲染一个关卡
16.3 小结
第17章 Captain Chloride遇到实体对象
17.1 撞倒一扇实体门上
17.1.1 冲突管理
17.1.2 一个基本的门
17.1.3 能够发生冲突的CaptainChloride
17.1.4 Captain Chloride实际冲突
17.2 捡起钥匙
17.2.1 可以捡起的对象
17.2.2 让Captain Chloride捡起东西
17.3 让门打开和关闭
17.3.1 2.5维的奇遇
17.3.2 实际使用2.5维编程
17.4 小结
第18章 大结局
18.1 巩固知识
18.2 坏人登场
18.2.1 设计一个简单的Slugwroths
18.2.2 实现Slugwroths类
18.3 游戏附加内容
18.4 结语:并非终点
术语表
Creating games in C++ a step-by-step guide
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!