相关商品推荐
·赢在用户
·CSS网站布局实录第2版
·搜索引擎营销
·Java编程思想(第4版
·CSS禅意花园
·XML HACKS 10
·JAVA JDK6学习笔
·Java编程思想(英文版
·Ajax模式与最佳实践
·Excel实战技巧精粹(
特价促销商品
您最近的浏览历史
暂无浏览历史游戏编程入门经典 C#篇
出 版 社:
清华大学出版社
- 出版时间:2006-2-1
- ISBN:7302121044
- 版次:第1次
- 开本:26cm
- 包装:平装
注意:此商品已经缺货,如需购买请先登记!
定价:¥39.00
时代网价:¥33.15 折扣:85折 节省:¥5.85
配送区域:成都市区免费送货上门、货到付款;四川其它地区送货上门、货到付款。全国范围内使用支付宝支付,先收货,后付款,安全方便(支付宝信任商家)。查看具体配送区域
购买过此商品的顾客还购买过
关注过此商品的顾客还关注过
内容简介
本书展示了如何利用.NET强大的功能创建令人激动的、功能齐全的游戏。因为在.NET中可以利用DirectX 9,所以读者现在不需要使用复杂的C++代码就可以编写各种奇特的游戏。本书不是一本介绍.NET的全面指南,但是读者可以在开发各种有趣游戏的过程中学习如何编写.NET程序。
开发游戏是一项具有挑战性的工作,而面临的挑战根据游戏的不同而各异。本书剖析了5个不同的游戏,读者可以从中发现如何解决不同的问题。例如,如何创建一个简单的游戏框架?如何将二维游戏转换成三维游戏?如何创建具有人工智能的游戏特征?如何编写通过网络运行的游戏?在本书中,我们将为上述问题以及其他一些问题提供答案。这些答案将在介绍二维及三维Spacewar等游戏时给出。
开发游戏是一项具有挑战性的工作,而面临的挑战根据游戏的不同而各异。本书剖析了5个不同的游戏,读者可以从中发现如何解决不同的问题。例如,如何创建一个简单的游戏框架?如何将二维游戏转换成三维游戏?如何创建具有人工智能的游戏特征?如何编写通过网络运行的游戏?在本书中,我们将为上述问题以及其他一些问题提供答案。这些答案将在介绍二维及三维Spacewar等游戏时给出。
目录介绍
目 录
第1章 .Nettrix:GDI+与冲突检测 1
1.1 GDI+基本概念 1
1.1.1 路径梯度 1
1.1.2 α混合 2
1.1.3 基数样条函数 2
1.2 使用Graphics对象执行图形操作 3
1.2.1 使用PaintEventArgs参数创建Graphics对象 3
1.2.2 使用窗口句柄创建Graphics对象 4
1.2.3 从图像中创建Graphics对象 4
1.2.4 从一个指向设备上下文的特定句柄创建Graphics对象 5
1.3 创建梯度 5
1.4 冲突检测 6
1.4.1 限定框算法 7
1.4.2 邻近性检测算法 10
1.5 优化计算量 13
1.5.1 平铺游戏区域 14
1.5.2 位分区 14
1.5.3 位数组分区 16
1.6 把算法扩展到三维图形情况下 17
1.7 游戏开发方案 18
1.8 游戏项目开发 19
1.8.1 类图:最初设计 19
1.8.2 游戏引擎 21
1.8.3 类图:最终设计 22
1.9 编码阶段 23
1.9.1 概略设计:编写Square类 23
1.9.2 第二阶段设计:编写Block类 27
1.10 最终设计:编写GameField类和游戏引擎 39
1.11 添加最终修饰 46
1.11.1 关于如何显示下一个方块的编码设计 46
1.11.2 关于游戏暂停方式的编码设计 47
1.11.3 关于窗口重绘的编码设计 47
1.11.4 进一步改进 48
1.12 小结 48
1.13 参考文献 49
第2章 .Netterpillars:人工智能和Sprite 50
2.1 面向对象编程 51
2.2 人工智能 53
2.2.1 AI的类型 53
2.2.2 对AI的一般考虑 54
2.2.3 AI的一般技术 54
2.2.4 发挥您的想象力 58
2.2.5 保持可重用的图形库和对象库 58
2.3 Sprite和性能提高技巧 58
2.3.1 Sprite:快速的和透明的 59
2.3.2 编写Sprite类的属性代码 60
2.3.3 Sprite类的Constructor方法 61
2.3.4 Sprite类的Draw方法和Erase方法 62
2.4 游戏开发方案 64
2.5 游戏项目规范 65
2.5.1 定义游戏程序中的类以及Game Engine 65
2.5.2 主程序结构 71
2.5.3 定义游戏界面 72
2.5.4 优化游戏规范 73
2.6 编码阶段 74
2.6.1 第一阶段:对静态对象进行编码 74
2.6.2 第二阶段:对游戏角色进行编码 80
2.6.3 第三阶段:对游戏引擎和冲突检测进行编码 87
2.6.4 第四阶段:对配置界面和游戏终止过程进行编码 91
2.6.5 第五阶段:对Netterpillar AI类进行编码 97
2.7 为游戏添加最后的修饰 101
2.7.1 编写游戏暂停过程的代码 101
2.7.2 改进游戏终止界面 102
2.7.3 编写垃圾收集代码 103
2.7.4 进一步改进 104
2.8 小结 104
第3章 Managed DirectX基础知识:Direct3D基本概念、DirectX与GDI+ 105
3.1 DirectX 106
3.1.1 DirectX的顶层对象 106
3.1.2 理解适配器 107
3.1.3 理解设备 108
3.1.4 理解显示模式 111
3.1.5 创建一个简单的Direct3D程序 112
3.2 3-D坐标系和3-D投影 113
3.2.1 理解矩阵和3-D变换 116
3.2.2 定位camera 117
3.3 Drawing Primitives和Texture 118
3.4 应用程序开发方案 124
3.5 应用程序规范说明 124
3.6 编码阶段 125
3.6.1 第一步:编写主窗口 126
3.6.2 第二步:编写第一个测试窗口 131
3.6.3 第三步:创建一个全屏模式下运行的程序示例 137
3.6.4 第四步:使用透明的纹理图像 139
3.6.5 第五步:改变漫射光色彩 142
3.6.6 第六步:测试矩阵变换 145
3.7 添加最终修饰 151
3.8 关于DirectX和GDI+的更多内容 152
3.9 小结 152
第4章 Space Donuts游戏 154
4.1 sprite 155
4.1.1 显示sprite 156
4.1.2 使sprite动起来 158
4.1.3 移动和旋转 160
4.1.4 输入和音效 162
4.2 Space Donuts 165
4.2.1 游戏开发方案 166
4.2.2 游戏规范 166
4.2.3 控制sprite 167
4.2.4 Main事件 173
4.2.5 游戏循环过程 174
4.2.6 进一步改进 180
4.3 小结 180
第5章 Spacewar 181
5.1 Spacewar 181
5.2 方法论:使用别人所编写的代码所面临的挑战 183
5.3 使用Application Wizard 183
5.3.1 Main类 185
5.3.2 GameClass类 186
5.3.3 初始化GameClass类 187
5.3.4 游戏的主循环过程 188
5.4 Direct Play 193
5.5 小结 200
第6章 Spacewar3D:网格、缓冲区和纹理 201
6.1 DirectX基本知识:Application Wizard 201
6.2 Spacewar3D 211
6.3 游戏开发方案 211
6.4 游戏规范 212
6.4.1 第1步:为Direct3D游戏创建一个简单的shell 212
6.4.2 第2步:创建游戏进入界面 213
6.4.3 第3步:创建游戏环境 216
6.4.4 第4步:行进到外部空间 217
6.4.5 第5步:在空间中移动 224
6.4.6 第6步:为游戏添加ship和音效 228
6.4.7 第7步:为单人游戏添加一个简单的对手形象 235
6.4.8 第8步:添加一个显示窗口来帮助游戏者寻找对手 237
6.4.9 第9步:完成游戏设计 240
6.5 小结 242
第7章 为Spacewar3D添加视觉效果 243
7.1 point sprite 243
7.2 第10步:为Spacewar3D添加推进效果 244
7.2.1 定义point sprite的数据 245
7.2.2 处理设备事件 245
7.2.3 更新效果 246
7.2.4 显示效果 248
7.3 第11步:为Spacewar3D添加爆炸效果 250
7.4 第12步:为Spacewar3D添加冲击波效果 252
7.5 小结 253
第8章 进一步学习游戏编程 254
8.1 继续学习 254
8.2 编程风格 254
8.2.1 风格一:必须使用源代码管理 255
8.2.2 风格二:当程序失败时知道应该做些什么 256
8.2.3 风格三:知道怎样避免程序失败 256
8.2.4 风格四:寻求网络支持 257
8.2.5 风格五:知道什么能够使游戏更加有趣 257
8.3 补充说明一些内容 257
8.4 愉快的学习历程 259
第9章 附加内容:把.Nettrix游戏移植到Pocket PC 260
9.1 为移动设备创建程序 260
9.1.1 使用.NET创建智能设备应用程序 261
9.1.2 选择运行平台和项目类型 261
9.1.3 把应用程序部署给Emulator 262
9.2 在移动设备上运行桌面PC程序及其操作系统 264
9.3 游戏开发方案 264
9.4 游戏项目规范 265
9.5 编码阶段 266
9.5.1 为Pocket PC修改游戏代码 266
9.5.2 更新Square类 268
9.5.3 更新Block类 270
9.5.4 更新游戏窗体 270
9.6 添加最终修饰 273
9.7 小结 274
附录A 参考文献 275
附录B 游戏的动机 278
附录C 我是如何设计游戏的 283
附录D 开发成功游戏的指导方针 290
第1章 .Nettrix:GDI+与冲突检测 1
1.1 GDI+基本概念 1
1.1.1 路径梯度 1
1.1.2 α混合 2
1.1.3 基数样条函数 2
1.2 使用Graphics对象执行图形操作 3
1.2.1 使用PaintEventArgs参数创建Graphics对象 3
1.2.2 使用窗口句柄创建Graphics对象 4
1.2.3 从图像中创建Graphics对象 4
1.2.4 从一个指向设备上下文的特定句柄创建Graphics对象 5
1.3 创建梯度 5
1.4 冲突检测 6
1.4.1 限定框算法 7
1.4.2 邻近性检测算法 10
1.5 优化计算量 13
1.5.1 平铺游戏区域 14
1.5.2 位分区 14
1.5.3 位数组分区 16
1.6 把算法扩展到三维图形情况下 17
1.7 游戏开发方案 18
1.8 游戏项目开发 19
1.8.1 类图:最初设计 19
1.8.2 游戏引擎 21
1.8.3 类图:最终设计 22
1.9 编码阶段 23
1.9.1 概略设计:编写Square类 23
1.9.2 第二阶段设计:编写Block类 27
1.10 最终设计:编写GameField类和游戏引擎 39
1.11 添加最终修饰 46
1.11.1 关于如何显示下一个方块的编码设计 46
1.11.2 关于游戏暂停方式的编码设计 47
1.11.3 关于窗口重绘的编码设计 47
1.11.4 进一步改进 48
1.12 小结 48
1.13 参考文献 49
第2章 .Netterpillars:人工智能和Sprite 50
2.1 面向对象编程 51
2.2 人工智能 53
2.2.1 AI的类型 53
2.2.2 对AI的一般考虑 54
2.2.3 AI的一般技术 54
2.2.4 发挥您的想象力 58
2.2.5 保持可重用的图形库和对象库 58
2.3 Sprite和性能提高技巧 58
2.3.1 Sprite:快速的和透明的 59
2.3.2 编写Sprite类的属性代码 60
2.3.3 Sprite类的Constructor方法 61
2.3.4 Sprite类的Draw方法和Erase方法 62
2.4 游戏开发方案 64
2.5 游戏项目规范 65
2.5.1 定义游戏程序中的类以及Game Engine 65
2.5.2 主程序结构 71
2.5.3 定义游戏界面 72
2.5.4 优化游戏规范 73
2.6 编码阶段 74
2.6.1 第一阶段:对静态对象进行编码 74
2.6.2 第二阶段:对游戏角色进行编码 80
2.6.3 第三阶段:对游戏引擎和冲突检测进行编码 87
2.6.4 第四阶段:对配置界面和游戏终止过程进行编码 91
2.6.5 第五阶段:对Netterpillar AI类进行编码 97
2.7 为游戏添加最后的修饰 101
2.7.1 编写游戏暂停过程的代码 101
2.7.2 改进游戏终止界面 102
2.7.3 编写垃圾收集代码 103
2.7.4 进一步改进 104
2.8 小结 104
第3章 Managed DirectX基础知识:Direct3D基本概念、DirectX与GDI+ 105
3.1 DirectX 106
3.1.1 DirectX的顶层对象 106
3.1.2 理解适配器 107
3.1.3 理解设备 108
3.1.4 理解显示模式 111
3.1.5 创建一个简单的Direct3D程序 112
3.2 3-D坐标系和3-D投影 113
3.2.1 理解矩阵和3-D变换 116
3.2.2 定位camera 117
3.3 Drawing Primitives和Texture 118
3.4 应用程序开发方案 124
3.5 应用程序规范说明 124
3.6 编码阶段 125
3.6.1 第一步:编写主窗口 126
3.6.2 第二步:编写第一个测试窗口 131
3.6.3 第三步:创建一个全屏模式下运行的程序示例 137
3.6.4 第四步:使用透明的纹理图像 139
3.6.5 第五步:改变漫射光色彩 142
3.6.6 第六步:测试矩阵变换 145
3.7 添加最终修饰 151
3.8 关于DirectX和GDI+的更多内容 152
3.9 小结 152
第4章 Space Donuts游戏 154
4.1 sprite 155
4.1.1 显示sprite 156
4.1.2 使sprite动起来 158
4.1.3 移动和旋转 160
4.1.4 输入和音效 162
4.2 Space Donuts 165
4.2.1 游戏开发方案 166
4.2.2 游戏规范 166
4.2.3 控制sprite 167
4.2.4 Main事件 173
4.2.5 游戏循环过程 174
4.2.6 进一步改进 180
4.3 小结 180
第5章 Spacewar 181
5.1 Spacewar 181
5.2 方法论:使用别人所编写的代码所面临的挑战 183
5.3 使用Application Wizard 183
5.3.1 Main类 185
5.3.2 GameClass类 186
5.3.3 初始化GameClass类 187
5.3.4 游戏的主循环过程 188
5.4 Direct Play 193
5.5 小结 200
第6章 Spacewar3D:网格、缓冲区和纹理 201
6.1 DirectX基本知识:Application Wizard 201
6.2 Spacewar3D 211
6.3 游戏开发方案 211
6.4 游戏规范 212
6.4.1 第1步:为Direct3D游戏创建一个简单的shell 212
6.4.2 第2步:创建游戏进入界面 213
6.4.3 第3步:创建游戏环境 216
6.4.4 第4步:行进到外部空间 217
6.4.5 第5步:在空间中移动 224
6.4.6 第6步:为游戏添加ship和音效 228
6.4.7 第7步:为单人游戏添加一个简单的对手形象 235
6.4.8 第8步:添加一个显示窗口来帮助游戏者寻找对手 237
6.4.9 第9步:完成游戏设计 240
6.5 小结 242
第7章 为Spacewar3D添加视觉效果 243
7.1 point sprite 243
7.2 第10步:为Spacewar3D添加推进效果 244
7.2.1 定义point sprite的数据 245
7.2.2 处理设备事件 245
7.2.3 更新效果 246
7.2.4 显示效果 248
7.3 第11步:为Spacewar3D添加爆炸效果 250
7.4 第12步:为Spacewar3D添加冲击波效果 252
7.5 小结 253
第8章 进一步学习游戏编程 254
8.1 继续学习 254
8.2 编程风格 254
8.2.1 风格一:必须使用源代码管理 255
8.2.2 风格二:当程序失败时知道应该做些什么 256
8.2.3 风格三:知道怎样避免程序失败 256
8.2.4 风格四:寻求网络支持 257
8.2.5 风格五:知道什么能够使游戏更加有趣 257
8.3 补充说明一些内容 257
8.4 愉快的学习历程 259
第9章 附加内容:把.Nettrix游戏移植到Pocket PC 260
9.1 为移动设备创建程序 260
9.1.1 使用.NET创建智能设备应用程序 261
9.1.2 选择运行平台和项目类型 261
9.1.3 把应用程序部署给Emulator 262
9.2 在移动设备上运行桌面PC程序及其操作系统 264
9.3 游戏开发方案 264
9.4 游戏项目规范 265
9.5 编码阶段 266
9.5.1 为Pocket PC修改游戏代码 266
9.5.2 更新Square类 268
9.5.3 更新Block类 270
9.5.4 更新游戏窗体 270
9.6 添加最终修饰 273
9.7 小结 274
附录A 参考文献 275
附录B 游戏的动机 278
附录C 我是如何设计游戏的 283
附录D 开发成功游戏的指导方针 290
顾客评论
(查看所有有关此商品的评论)
(查看所有有关此商品的评论)商品问答
(查看所有问答)















