C++游戏开发

C++游戏开发
作 者: David Conger with Ron Little
出版社: 机械工业出版社
丛编项: 游戏开发技术系列丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 软件与程序设计 C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C++游戏开发》作者简介

内容简介

本书系统介绍使用C++进行游戏编程的概念、方法、技巧、实例以及综合运用。本书共分为五部分,第一部分简要介绍编写游戏所需的工具和技能,包括大量有关编程的基本概念。第二部分深入介绍面向对象编程。第三部分展示如何构建游戏程序,并以Ping游戏为例进行全面讨论, 包括如何为游戏添加声音。第四部分介绍编写游戏所需的高组C++技能。第五部分以游戏Invasion of Slugwroths为例介绍如何综合运用本书的知识。本书的随书配套光盘提供游戏编程所需的编译器、连接器和调试器、游戏引擎,以及书中的示例代码和推荐读物等。本书是游戏编程的入门级读物,不要求具备计算机编程的基本知识。既适合作为有志于成为游戏程序员的读者的基础读物,也可用作游戏程序员的参考书。

图书目录

译者序

前言

致谢

第一部分基 础 知 识

第1章成为游戏程序员需要什么

11编程技能

111计算机程序是什么

112C++编程语言

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1DevC++编译器简介

211创建一个项目

212编写程序

213编译和连接程序

22用C++编程

221main()的内容

222变量

223输出到屏幕

224从键盘输入

225流和include语句

226函数

227基本数学运算

228循环

23Windows 编程

231WinMain()

232消息和消息处理

24游戏编程

241什么是OpenGL

242什么是OpenAL

243OpenGL、OpenAL和

Directx

25小结

第二部分游戏中的面向对象编程

第3章面向对象编程简介

31软件对象

32类

321成员数据

322成员函数

323构造函数和析构函数

324内联成员函数

33逻辑运算符

34if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2LlamaWorks2D 是如何工作的

43一个静止的球

44一个弹跳的球

45得到好的结果

46小结

第5章函数重载和运算符重载

51什么是重载

511重载函数

512重载运算符

52用重载实现一个向量类

521重载vector构造函数

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3Ping游戏

731Ping简介

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2MIDI文件

823声音存储技术比较

83LlamaWorks2D中的声音效果

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3CannonShoot:一个使用中的

游戏空间

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2LlamaWorks2D中的动画

精灵

1313修改CannonShoot

132高速输入

1321立即模式输入简介

1322Ping和立即模式输入

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2LlamaWorks2D中的关卡

1621XML关卡文件

1622Invasion 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能够发生冲突的Captain

Chloride

1714Captain Chloride实际

冲突

172捡起钥匙

1721可以捡起的对象

1722让Captain Chloride捡起

东西

173让门打开和关闭

17312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结语:并非终结

术语表