计算机游戏程序设计(基础篇)(第3版)

第1章 游戏开发简介 001

1.1 什么是游戏 001

1.2 计算机游戏的发展 003

1.3 计算机游戏的分类 006

1.4 计算机游戏开发的基本理念和

方法 011

1.5 游戏开发的基本流程 012

1.6 游戏开发的准则和“忠告” 014

1.7 游戏编程人员的基本素质

要求 016

小结 017

习题1 017

第2章 计算机游戏策划简介 018

2.1 计算机游戏策划的概念和

分类 018

2.2 计算机游戏策划人员应具备的

素质 019

2.3 计算机游戏策划基础 020

2.3.1 游戏规则 020

2.3.2 奖罚机制 021

2.3.3 游戏资源 021

2.3.4 玩家技能 023

2.3.5 反馈机制 025

2.3.6 难度平衡 026

2.4 计算机游戏的策划与开发

团队 028

小结 030

习题2 030

第3章 游戏图像处理 031

3.1 图像概述 031

3.2 颜色混合和半透明效果 035

3.2.1 基本原理和步骤 035

3.2.2 Alpha融合技术 036

3.3 图像操作 038

3.3.1 直方图 038

3.3.2 几何运算 039

3.3.3 图像滤波算子 040

3.3.4 形态算子 042

3.4 图像特效 044

小结 046

习题3 046

第4章 游戏引擎概览 047

4.1 游戏引擎的提出 047

4.2 常用游戏引擎 048

4.3 Cocos2d-x引擎介绍 052

4.3.1 Cocos2d-x的核心概念 052

4.3.2 Cocos2d-x中的坐标系 056

4.3.3 Cocos2d-x中的用户交互响应 057

4.3.4 Cocos2d-x的内存管理机制 058

4.3.5 Cocos2d-x中的新增的3D特性 060

4.4 Cocos2d-x开发环境配置 060

4.4.1 Windows下开发环境配置 060

4.4.2 Android开发环境配置 062

4.4.3 iOS下的开发环境配置 066

小结 066

习题4 067

第5章 二维游戏场景绘制 068

5.1 游戏场景的组织和管理 068

5.2 游戏画面背景 069

5.2.1 二维游戏背景的类型 069

5.2.2 游戏地图的创建和显示 070

5.2.3 砖块地图 073

5.2.4 砖块地图编辑器 074

5.2.5 Cocos2d-x中砖块地图的实现 076

5.3 文字与字体 078

5.3.1 字体编辑器 078

5.3.2 Cocos2d-x中的文本绘制 079

5.4 菜单项 082

5.5 扩展控件 086

5.5.1 滚动框 086

5.5.2 滑动条控件 090

5.5.3 开关控件 091

5.5.4 按钮控件 091

5.5.5 Scale9Sprite 092

5.6 游戏场景绘制实例――英雄

快跑 093

小结 099

习题和实验 099

第6章 游戏交互界面设计 100

6.1 交互界面设计概述 100

6.2 游戏的可玩性与交互界面 100

6.3 交互界面设计基础 101

6.3.1 交互界面的色彩设计 101

6.3.2 交互界面的形式 102

6.4 游戏软件的交互界面设计 107

6.5 Cocos2d-x中的界面设计 108

6.5.1 Cocos2d-x中的UI编辑器 108

6.5.2 用户界面编辑器的使用 108

6.5.3 在Cocos2d-x引擎中的应用 110

6.6 Cocos2d-x中的用户交互 111

6.7 游戏界面设计实例――贪

食豆 113

小结 117

习题和实验 117

第7章 二维游戏动画合成 118

7.1 计算机动画概述 118

7.2 常见计算机动画技术 118

7.2.1 基本动画技术 118

7.2.2 脚本驱动的动画技术 119

7.2.3 骨骼动画技术 120

7.2.4 常见动画制作软件及其文件

格式 120

7.3 Cocos2d-x中的动作类 121

7.3.1 瞬时动作(ActionInstant) 121

7.3.2 延时动作(ActionInterval) 122

7.3.3 组合动作

(ActionAcombination) 123

7.3.4 速度的指定(speed) 124

7.3.5 跟随动作(follow) 124

7.4 Cocos2d-x中的动画 125

7.4.1 Cocos2d-x中与动画相关的类 125

7.4.2 Cocos2d-x中的动画编辑器 125

7.4.3 Cocos2d-x中动画的实现 127

7.5 游戏动画实例――侠客行 128

小结 139

习题和实验 139

第8章 碰撞检测和运动模拟 140

8.1 碰撞检测 140

8.2 物体遮挡关系 141

8.3 物体运动模拟 141

8.4 Cocos2d-x中的物理引擎 142

8.4.1 Box2D简介 142

8.4.2 Box2D中的相关类 143

8.4.3 Box2D的使用 149

8.5 游戏物理模拟实例 150

8.5.1 基于Box2D的游戏实例 150

8.5.2 Cocos2d-x的物理引擎Physics的

应用 158

小结 159

习题和实验 160

第9章 游戏粒子系统 161

9.1 粒子系统概述 161

9.2 粒子效果 161

9.3 Cocos2d-x中的粒子系统 162

9.4 粒子的生命周期 163

9.5 粒子属性 164

9.6 粒子编辑器 165

9.7 粒子系统实例―烟花瀑 169

小结 175

习题和实验 175

第10章 游戏音效编程 177

10.1 声音基础 177

10.2 常见的音效引擎 181

10.3 Cocos2d-x中的音乐和

音效 182

10.3.1 音乐和音效的预加载 182

10.3.2 播放和停止 183

10.3.3 暂停和恢复播放 185

10.3.4 其他成员 185

10.4 游戏音效编程实例 186

小结 188

习题和实验 188

第11章 游戏中的人工智能 189

11.1 游戏AI概述 189

11.2 游戏AI基本类型 190

11.3 常用的游戏AI技术 190

11.3.1 有限状态机 191

11.3.2 模糊逻辑 192

11.3.3 人工神经网络 192

11.3.4 遗传算法 193

11.3.5 脚本语言 193

11.4 二维游戏寻路与A*算法 194

11.4.1 游戏寻路技术 194

11.4.2 A*算法及其实现 195

11.5 游戏AI实例――迷宫寻宝 200

小结 205

习题和实验 206

第12章 网络游戏编程 207

12.1 网络游戏的基本架构 207

12.2 网络游戏通信协议 208

12.3 网络游戏多线程编程 209

12.4 常见的游戏开发网络框架 211

12.5 Cocos2d-x中的网络通信 211

12.5.1 HTTP网络通信 212

12.5.2 Socket网络通信 214

12.5.3 WebSocket网络通信 217

12.6 游戏网络编程实例――网络

坦克大战 218

12.6.1 准备工作 218

12.6.2 解析JSON 218

12.6.3 连接网络 220

12.6.4 游戏逻辑实现 225

小结 227

习题和实验 228

第13章 游戏中的脚本编程 229

13.1 Lua简介 229

13.2 Lua语言的语法 230

13.2.1 数值和类型 230

13.2.2 表达式 231

13.2.3 语句 232

13.2.4 函数 235

13.3 Lua程序与C++程序通信 236

13.3.1 C++代码调用Lua函数 237

13.3.2 Lua代码调用C++函数 238

13.4 Lua脚本在Cocos2d-x中的

应用 239

13.5 游戏脚本编程实例――守卫

宝箱 239

小结 246

习题和实验 246

第14章 计算机游戏综合实例 247

14.1 全局控制和管理 247

14.2 游戏数据解析 250

14.2.1 CSV文件解析 250

14.2.2 SQLite数据库应用 253

14.3 场景绘制 262

14.3.1 地图绘制 263

14.3.2 模型封装和导入 267

14.4 界面设计 276

14.4.1 主界面构建 276

14.4.2 对话框设计 280

14.5 动画效果 285

14.6 游戏AI 287

小结 289

参考文献 290

(0)

相关推荐