首页>参考读物>工商管理>管理研究方法

游戏编程入门(原书第3版)
作者 : (美)Jonathan S. Harbour 著
译者 : 陈征 傅鑫 等译
出版日期 : 2011-01-11
ISBN : 978-7-111-32860-5
定价 : 55.00元
扩展资源
扩展信息
语种 : 简体中文
页数 : 300
开本 : 16
原书名 : Beginning Game Programming, 3E
原出版社: Cengage Learning
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

游戏开发领域的市场很大,目前,游戏产业仍然在我国整个软件行业中占有重要的地位。由此,游戏开发的培训业务也很火爆,游戏开发的技术图书存在较大的技术需求。
本书面向初学者,介绍如何将他们的游戏思路从概念变成现实,只需要读者有一点C++语言基础支持,就可以通过本书学习和掌握创建2D和3D游戏的技能技巧。通过本书介绍的知识,读者可以开发自己的游戏库,可用于未来游戏项目的开发。
一直以来,我社的游戏开发系列得到读者的认同,销售尚可,库存积压和退货率低,出版和销售效率较好。这方面的选题需要进一步延续和开拓。此外,游戏编程方面的佳作一直较少,而本书是面向初学者的一本难得的好书,英文版得到众多读者和游戏培训师生的好评。

图书特色

作者简介:
Jonathan S. Harbour 是University of Advancing Technology(www.uat.edu)的副教授。他编写过许多编程方面的书籍,并且教授这方面的课程,包括DirectX、Allegro、Python、LUA、DarkBASIC、多游戏者网络、XNA Game Studio以及Java。他还教授包括任天堂GameCube(Dolphin SDK)、任天堂 GBA和任天堂DS(DevKitPro)、Sony PlayStation 2(TOOL)、Xbox 360(XNA SDK)以及手机(Java ME )在内的专有课程。他著有《Advanced 2D Game Development》。他目前忙于一个涉及多线程的新项目。
本书向初出茅庐的游戏开发人员展示了将游戏思想从概念转变为现实的方法。本书涵盖了使用DirectX编写代码创建2D和3D游戏所需的所有技能,而读者只需基本掌握C++语言即可学会。游戏的每个元素都按部就班地在书中讲授——从学习如何创建简单的Windows程序,到使用关键的DirectX组件来渲染2D和3D,再到给游戏添加声音。通过学习本书讲授的技能,读者可以开发出属于自己的用于构建将来的游戏项目的游戏库。本书在每章结束时新增了测验题和项目以便帮助读者实践新学到的技能!本书最后部分通过创建一个完整的、全功能的游戏来实践所介绍的新技能。
配套光盘内容:
书中所有示例项目的源代码
附录D中额外的着色器示例
诸如Mappy和Pro Motion这样的有用工具的30天试用版

上架指导

计算机\程序设计

封底文字

本书向初出茅庐的游戏开发人员展示了将游戏思想从概念转变为现实的方法。本书涵盖了使用DirectX编写代码创建2D和3D游戏所需的所有技能,而读者只需基本掌握C++语言即可学会。游戏的每个元素都按部就班地在书中讲授——从学习如何创建简单的Windows程序,到使用关键的DirectX组件来渲染2D和3D,再到给游戏添加声音。通过学习本书讲授的技能,读者可以开发出属于自己的用于构建将来的游戏项目的游戏库。本书新增在每章结束时加入了测验题和项目以便帮助读者实践新学到的技能!本书最后部分通过创建一个完整的、全功能的游戏来实践所介绍的新技能。

配套光盘内容:
 书中所有示例项目的源代码
 附录D中额外的着色器示例
 诸如Mappy和Pro Motion这样的有用的工具的30天试用版

作者简介

(美)Jonathan S. Harbour 著:Jonathan S. Harbour 是University of Advancing Technology(www.uat.edu)的副教授。他编写过许多编程方面的书籍,并且教授这方面的课程,包括DirectX、Allegro、Python、LUA、DarkBASIC、多游戏者网络、XNA Game Studio以及Java。他还教授包括任天堂GameCube(Dolphin SDK)、任天堂 GBA和任天堂DS(DevKitPro)、SONY PlayStation 2(TOOL)、Xbox 360(XNA SDK)以及手机(Java ME )在内的专有课程。他最新的书籍:《Advanced 2D Game Development》出版于2008年,他目前忙于一个涉及多线程的新项目。

译者简介

陈征 傅鑫 等译:暂无简介

译者序

游戏是计算机世界永恒的主题。玩游戏容易,写游戏就不那么简单了。很多初学者想自己编写游戏软件,却发现有大量鸿沟摆在面前,想一个一个越过却找不着门道。
  本书从基本的Windows编程开始,为游戏编程入门者介绍了使用DirectX在Windows下编写游戏所需的基础知识。读者将学习到把思想转化为现实所需的技术,例如2D和3D图形的绘制、背景卷动及处理游戏输入、音效及碰撞检测等。
  本书语言简练,适合有志于进入游戏编程世界的初学者阅读。无论读者是否具备DirectX的知识,甚至哪怕只是个中学生,只要有一定的C++编程基础,就能从中获益。
  参加本书翻译的人员有:陈征、傅鑫、孟庆麟、戴锋、许瑛琪、王开年、易小丽、陈婷、管学岗、王新彦、金惠敏等。
  由于时间紧迫,加之译者水平有限,错误在所难免,恳请广大读者批评指正。

译者
2010年9月

图书目录

译者序

欢迎前来冒险
第一部分 Windows和DirectX游戏编程引言
第1章 Windows初步2
1.1 Windows编程概述2
1.1.1 认识Windows3
1.1.2 Windows消息机制4
1.1.3 多任务5
1.1.4 多线程6
1.1.5 事件处理7
1.2 DirectX快速概览8
Direct3D是什么9
1.3 Windows程序基础9
1.3.1 创建第一个Win32项目10
1.3.2 理解WinMain16
1.3.3 完整的WinMain17
1.4 你所学到的19
1.5 复习测验19
1.6 自己动手19
第2章 侦听Windows消息20
2.1 编写一个真正的Windows程序20
2.1.1 理解InitInstance23
2.1.2 理解MyRegisterClass25
2.1.3 晒一晒WinProc的秘密27
2.2 什么是游戏循环31
2.2.1 老的WinMain31
2.2.2 WinMain和循环33
2.3 GameLoop项目35
GameLoop程序的源代码36
2.4 你所学到的42
2.5 复习测验42
2.6 自己动手43
第3章 初始化Direct3D44
3.1 初识Direct3D44
3.1.1 Direct3D接口44
3.1.2 创建Direct3D对象45
3.1.3 让Direct3D转起来47
3.1.4 全屏模式的Direct3D55
3.2 你所学到的56
3.3 复习测验56
3.4 自己动手57
第二部分 游戏编程工具箱
第4章 绘制位图60
4.1 表面和位图60
4.1.1 主表面61
4.1.2 从离屏(off-screen)表面62
4.1.3 Create_Surface示例64
4.1.4 从磁盘装载位图68
4.1.5 Load_Bitmap程序69
4.1.6 代码再利用73
4.2 你所学到的73
4.3 复习测验73
4.4 自己动手73
第5章 从键盘、鼠标和控制器获得输入74
5.1 键盘输入74
5.1.1 DirectInput对象和设备74
5.1.2 初始化键盘75
5.1.3 读取键盘按键77
5.2 鼠标输入77
5.2.1 初始化鼠标77
5.2.2 读取鼠标78
5.3 Xbox 360控制器输入79
5.3.1 初始化XInput80
5.3.2 读取控制器状态81
5.3.3 控制器振动82
5.3.4 测试XInput82
5.4 精灵编程简介88
5.4.1 一个有用的精灵结构90
5.4.2 装载精灵图像91
5.4.3 绘制精灵图像91
5.5 Bomb Catcher游戏92
5.5.1 MyWindows.cpp93
5.5.2 MyDirectX.h95
5.5.3 MyDirectX.cpp97
5.5.4 MyGame.cpp103
5.6 你所学到的107
5.7 复习测验107
5.8 自己动手108
第6章 绘制精灵并显示精灵动画109
6.1 什么是精灵109
6.2 装载精灵图像109
6.3 透明的精灵111
6.3.1 初始化精灵渲染器112
6.3.2 绘制透明的精灵113
6.4 绘制动画的精灵120
6.4.1 使用精灵表120
6.4.2 精灵动画演示123
6.5 你所学到的126
6.6 复习测验126
6.7 自己动手126
第7章 精灵变换127
7.1 精灵旋转和缩放127
7.1.1 2D变换129
7.1.2 绘制变换了的精灵132
7.1.3 Rotate_Scale_Demo程序134
7.1.4 带有变换的动画136
7.2 你所学到的139
7.3 复习测验140
7.4 自己动手140
第8章 检测精灵碰撞141
8.1 边界框碰撞检测141
8.1.1 处理矩形141
8.1.2 编写碰撞函数142
8.1.3 新的精灵结构143
8.1.4 为精灵的缩放进行调整144
8.1.5 边界框演示程序144
8.2 基于距离的碰撞检测148
8.2.1 计算距离149
8.2.2 编写计算距离的代码149
8.2.3 测试基于距离的碰撞150
8.3 你所学到的151
8.4 复习测验151
8.5 自己动手151
第9章 打印文本153
9.1 创建字体153
9.1.1 字体描述符153
9.1.2 创建字体对象154
9.1.3 可重用的MakeFont函数154
9.2 使用ID3DXFont打印文本155
9.2.1 使用DrawText打印155
9.2.2 文本折行156
9.3 测试字体输出156
9.4 你所学到的159
9.5 复习测验160
9.6 自己动手160
第10章 卷动背景161
10.1 卷动161
10.1.1 背景和布景162
10.1.2 从图片单元创建背景162
10.1.3 基于图片单元的卷动163
10.1.4 基于图片单元的卷动项目163
10.2 动态渲染图片单元168
10.2.1 图片单元地图169
10.2.2 使用Mappy创建图片单元地图170
10.2.3 Tile_Dynamic_Scroll项目174
Tile_Dynamic_Scroll源代码175
10.3 基于位图的卷动180
10.3.1 基于位图的卷动理论180
10.3.2 位图卷动演示181
10.4 你所学到的184
10.5 复习测验184
10.6 自己动手184
第11章 播放音频186
11.1 使用DirectSound186
11.1.1 初始化DirectSound187
11.1.2 创建声音缓冲区187
11.1.3 装载波形文件188
11.1.4 播放声音188
11.2 测试DirectSound189
11.2.1 创建项目189
11.2.2 修改MyDirectX文件191
11.2.3 修改MyGame.cpp193
11.3 你所学到的199
11.4 复习测验199
11.5 自己动手199
第12章 3D渲染基础200
12.1 3D编程介绍200
12.1.1 3D编程的关键组成部分200
12.1.2 3D场景201
12.1.3 转移到第三维204
12.1.4 掌握3D管线205
12.1.5 顶点缓冲区206
12.1.6 渲染顶点缓冲区208
12.1.7 创建四边形209
12.2 带纹理的立方体示例211
MyGame.cpp213
12.3 你所学到的219
12.4 复习测验219
12.5 自己动手220
第13章 渲染3D模型文件221
13.1 创建及渲染后援网格221
13.1.1 创建后援网格221
13.1.2 渲染后援网格223
13.1.3 Stock_Mesh程序224
13.2 装载并渲染模型文件226
13.2.1 装载.X文件226
13.2.2 渲染完整的模型231
13.2.3 从内存中删除一个模型231
13.2.4 Render_Mesh程序232
13.3 你所学到的239
13.4 复习测验239
13.5 自己动手240
第三部分 游 戏 项 目
第14章  Anti-Virus(反病毒)游戏242
14.1 Anti-Virus游戏242
14.1.1 游戏玩法243
14.1.2 游戏源代码251
14.2 你所学到的264
14.3 复习测验264
14.4 自己动手264
第四部分 附  录
附录A 配置Visual C++268
附录B 可进一步学习的资源274
附录C 各章测验答案278
附录D 附加示例287

教学资源推荐
作者: (比利时)伯努瓦?里豪克斯(Benoit Rihoux) (美)查尔斯 C. 拉金(Charles C. Ragin)著
作者: 席酉民 王亚刚 著
作者: 贾怀勤
作者: Donald R.Cooper Pamela S.Schindler