本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | Android游戏开发实践指南(AndEngine创始人Nicolas Gramlich作序鼎力!)(华章程序员书库)[图书]|3683638 |
图书定价: | 79元 |
图书作者: | (美)Rick Rogers |
出版社: | 机械工业出版社 |
出版日期: | 2012/9/1 0:00:00 |
ISBN号: | 9787111391548 |
开本: | 16开 |
页数: | 412 |
版次: | 1-1 |
作者简介 |
Rick Rogers 资深软件开发工程师,拥有30余年软件开发经验,从事手机软件开发10余年,经验十分丰富。他还是一位有经验的技术作家,曾在杂志上发表过多篇技术文章,并著有另外一本关于Android应用开发的图书。爱飞翔 资深Android开发工程师和游戏开发工程师,有10余年开发经验,曾主导和参与了多个手机游戏和手机软件项目的开发,经验十分丰富。他是手机软件开发引擎AgileMobileEngine的创始人兼项目经理,同时也是CatEngine手机游戏开发引擎的联合创始人兼代码维护员。他对极限编程、设计模式、重构、测试驱动开发、敏捷软件开发等也有较深入的研究,目前负责敏捷移动开发网(http://www.agilemobidev.com/)的运营。业余爱好文学和历史,有一定的文学造诣。 |
内容简介 |
《Android游戏开发实践指南(华章程序员书库)》是一本经典的Android游戏开发教程,由资深软件开发专家亲自执笔,AndEngine引擎创建者作序推荐。 《Android游戏开发实践指南(华章程序员书库)》中以开源引擎AndEngine为基础,不仅以专题的形式巧妙地将Android游戏开发必须掌握的各项关键技术(场景、图层、图形绘制、精灵、动画、物理效果、粒子系统、碰撞检测、关卡设计、美工、声音……)串联起来,系统地讲解了Android游戏开发者应该学习的理论知识,而且用一个完整的案例贯穿全书,将游戏开发的各项要素整合到一起,对Android游戏开发的方法和流程做了一个全景展示,可操作性极强。 全书共分17章:第1章介绍手机游戏的概况和类型;第2章~第15章各章都会阐述一个与游戏开发相关的话题,其中包括游戏的要素与游戏开发的工具,游戏逻辑循环的概念和用AndEngine开始开发游戏的方法,场景、图层、场景切换与实体修改器,精灵和动画精灵的绘制方法,文本和用户输入,瓦片地图,粒子系统,声音,物理效果,人工智能,计分与碰撞以及多媒体扩展包;第16章介绍如何通过完善现有功能使游戏更有趣;第17章介绍游戏的测试与发行。每章*后都有练习题,可帮助读者边学边练,迅速提高技能,书*后提供了习题答案。 |
目录 |
《Android游戏开发实践指南(华章程序员书库)》 译者序 序 前言 第1章 手机游戏 / 1 1.1 手机游戏市场 / 2 1.2 电脑游戏的世界 / 3 1.2.1 游戏类型 / 3 1.2.2 适合于手机的游戏 / 5 1.2.3 典型的游戏组件 / 6 1.2.4 《少女大战吸血鬼》 / 8 1.2.5 V3的设计 / 9 1.3 AndEngine范例 / 11 1.4 总结 / 12 1.5 习题 / 12 第2章 游戏要素与工具 / 14 2.1 软件开发工具 / 15 2.1.1 Android SDK / 15 2.1.2 AndEngine游戏引擎库 / 16 2.1.3 AndEngine游戏概念 / 17 2.1.4 Box2D物理引擎 / 19 2.2 图形工具 / 19 2.2.1 矢量图工具:Inkscape / 20 2.2.2 位图工具:GIMP / 21 2.2.3 动画捕捉:AnimGet / 22 2.2.4 瓦片地图创建工具:Tiled / 23 2.2.5 TrueType字体创建与编辑工具:FontStruct / 23 2.3 声音工具 / 24 2.3.1 音效工具:Audacity / 24 2.3.2 背景音乐工具:MuseScore / 25 2.4 初试身手:制作启动画面 / 26 2.4.1 创建游戏项目 / 27 2.4.2 加入AndEngine库 / 27 2.4.3 加入启动画面代码 / 28 2.4.4 用模拟器运行游戏 / 30 2.4.5 用Android设备运行游戏 / 31 2.5 总结 / 31 2.6 习题 / 32 第3章 游戏循环与菜单 / 33 3.1 游戏循环概述 / 34 3.2 AndEngine的游戏循环 / 35 3.2.1 初始化Engine对象 / 35 3.2.2 其他Engine类 / 36 3.3 为V3增加菜单屏幕 / 37 3.3.1 AndEngine的菜单 / 37 3.3.2 构建V3的开始菜单 / 40 3.3.3 创建菜单 / 40 3.3.4 MainMenuActivity类 / 45 3.3.5 常数与字段 / 46 3.3.6 onLoadResources()方法 / 46 3.3.7 onLoadScene()方法 / 46 3.3.8 createStaticMenuScene()方法与createPopUpScene()方法 / 46 3.3.9 onKeyDown()方法与onMenuItemClicked()方法 / 47 3.3.10 从启动画面切换到菜单 / 47 3.4 内存使用 / 50 3.5 “退出”选项 / 50 3.6 总结 / 50 3.7 习题 / 51 第4章 场景、图层、场景切换与实体修改器 / 52 4.1 AndEngine的场景 / 53 4.1.1 实体/组件模型 / 53 4.1.2 Entity类 / 54 4.1.3 构造器 / 54 4.1.4 Entity类的位置相关方法 / 55 4.1.5 Entity类的缩放相关方法 / 55 4.1.6 Entity类的颜色相关方法 / 56 4.1.7 Entity类的旋转相关方法 / 57 4.1.8 管理子对象 / 57 4.1.9 管理Modifier / 58 4.1.10 其他有用的Entity类方法 / 58 4.1.11 Layer类 / 59 4.1.12 Scene类 / 59 4.1.13 背景管理 / 60 4.1.14 子Scene对象管理 / 60 4.1.15 Layer对象管理 / 61 4.1.16 上级Scene对象管理 / 61 4.1.17 触摸区域管理 / 61 4.1.18 特殊Scene类 / 61 4.1.19 用于Entity的Modifier类 / 62 4.1.20 EntityModifier类的通用方法 / 63 4.1.21 位置相关的EntityModifier类 / 63 4.1.22 缩放相关的EntityModifier类 / 66 4.1.23 颜色相关的EntityModifier类 / 67 4.1.24 旋转相关的EntityModifier类 / 67 4.1.25 透明度相关的EntityModifier类 / 68 4.1.26 延迟相关的EntityModifier类 / 69 4.1.27 Modifier的组合 / 69 4.1.28 EaseFunction / 71 4.2 创建游戏第1关的场景 / 79 4.3 总结 / 84 4.4 习题 / 85 第5章 绘制与精灵 / 86 5.1 快速回顾Entity类 / 87 5.2 绘制线条与矩形 / 88 5.2.1 线条 / 88 5.2.2 矩形 / 88 5.3 精灵 / 88 5.3.1 贴图 / 89 5.3.2 效率问题 / 99 5.3.3 复合精灵 / 100 5.4 总结 / 104 5.5 习题 / 105 第6章 动画 / 106 6.1 动画所需素材 / 107 6.2 动画的瓦片贴图 / 108 6.3 AndEngine的动画 / 108 6.4 动画范例 / 110 6.5 将动画加入Level1Activity类 / 114 6.6 动画制作的问题 / 122 6.7 高级话题:从3D模型中制作2D动画 / 123 6.8 总结 / 123 6.9 习题 / 123 第7章 文本 / 125 7.1 字型与字体 / 126 7.2 载入字型 / 127 7.2.1 Font类 / 127 7.2.2 StrokeFont类 / 127 7.2.3 FontFactory类 / 128 7.2.4 FontManager类 / 128 7.2.5 Typeface类 / 128 7.3 AndEngine中的文本 / 129 7.3.1 AndEngine中的文本API / 129 7.3.2 桌面通知 / 132 7.4 定制字型 / 133 7.5 将定制字型加入V3 / 135 7.6 总结 / 142 7.7 习题 / 142 第8章 用户输入 / 144 8.1 Android与AndEngine的输入方式 / 145 8.1.1 字母键盘与袖珍键盘 / 146 8.1.2 触摸 / 146 8.1.3 自定义手势 / 152 8.1.4 屏幕游戏手柄 / 152 8.1.5 加速计 / 153 8.1.6 位置和方向 / 153 8.1.7 语音 / 158 8.2 将用户输入加入V3 / 161 8.3 总结 / 166 8.4 习题 / 166 第9章 瓦片地图 / 168 9.1 为何使用瓦片地图 / 169 9.2 瓦片地图的类型 / 169 9.2.1 正交瓦片地图 / 171 9.2.2 等距投影瓦片地图 / 171 9.3 瓦片地图的结构 / 172 9.4 AndEngine中的瓦片地图 / 172 9.4.1 TMX与TSX文件 / 172 9.4.2 TMXLoader类 / 172 9.4.3 TMXTiledMap类 / 173 9.4.4 TMXLayer类 / 174 9.4.5 TMXTile类 / 174 9.5 瓦片编辑器:Tiled / 175 9.6 TMX文件 / 176 9.7 正交瓦片地图游戏:《打吸血鬼》 / 177 9.7.1 WAV的瓦片地图 / 177 9.7.2 创建WAV的瓦片集 / 178 9.7.3 创建WAV的瓦片地图 / 179 9.7.4 《打吸血鬼》游戏的代码 / 181 9.8 等距投影瓦片地图 / 191 9.9 总结 / 191 9.10 习题 / 192 第10章 粒子系统 / 193 10.1 粒子发射器是什么 / 194 10.2 粒子系统如何运作 / 195 10.3 AndEngine的粒子系统 / 195 10.3.1 ParticleSystem类 / 196 10.3.2 ParticleEmitter类 / 197 10.3.3 ParticleInitializer类 / 198 10.3.4 ParticleModifier类 / 199 10.3.5 有用的ParticleSystem类方法 / 200 10.4 创建粒子系统 / 201 10.4.1 以传统方式创建粒子系统 / 201 10.4.2 以XML文件创建粒子系统 / 202 10.5 将粒子发射器加入V3游戏中 / 206 10.5.1 以传统方式制作V3的爆炸效果 / 206 10.5.2 以XML文件方式制作V3的爆炸效果 / 210 10.6 总结 / 211 10.7 习题 / 211 第11章 声音 / 213 11.1 如何在游戏中使用声音 / 214 11.1.1 音乐 / 214 11.1.2 音效 / 214 11.2 音乐与音效的来源 / 215 11.3 音乐与音效制作工具 / 216 11.4 音频解码器 / 216 11.5 使用AndEngine播放声音 / 217 11.5.1 Music类 / 218 11.5.2 Sound类 / 218 11.5.3 MusicFactory类 / 219 11.5.4 SoundFactory类 / 219 11.6 将声音加入V3游戏 / 220 11.6.1 创建音效 / 220 11.6.2 创建背景音乐 / 223 11.6.3 修改V3游戏的代码 / 225 11.7 总结 / 235 11.8 习题 / 236 第12章 物理效果 / 237 12.1 Box2D物理引擎 / 238 12.1.1 Box2D概念 / 238 12.1.2 设定Box2D / 240 12.2 构建物理学游戏的关卡 / 241 12.3 AndEngine与Box2D / 242 12.3.1 下载AndEnginePhysicsBox2DExtension并将其加入游戏项目 / 242 12.3.2 Box2D的API / 244 12.3.3 简单的物理效果范例 / 247 12.3.4 关卡加载 / 252 12.4 《愤怒的村民》:V3中的物理学小游戏 / 255 12.5 实现IV游戏 / 255 12.5.1 创建关卡 / 256 12.5.2 编写IVActivity.java / 260 12.6 总结 / 270 12.7 习题 / 270 第13章 人工智能 / 272 13.1 游戏AI相关话题 / 273 13.1.1 简单的脚本 / 273 13.1.2 决策树、Minimax树与状态机 / 273 13.1.3 专家系统或基于规则的决策系统 / 276 13.1.4 神经网络 / 277 13.1.5 遗传算法 / 278 13.1.6 路径查找 / 279 13.1.7 动态困难度调节 / 280 13.1.8 程序化的音乐生成 / 280 13.2 实现V3游戏的AI / 281 13.3 总结 / 290 13.4 习题 / 290 第14章 计分与碰撞 / 291 14.1 计分系统设计 / 292 14.1.1 更新小游戏取得的分数 / 293 14.1.2 记录5个*高分 / 293 14.1.3 在小游戏场景中显示分数 / 294 14.1.4 分数页面的显示 / 295 14.2 AndEngine的碰撞 / 298 14.2.1 AndEngine的Shape碰撞 / 298 14.2.2 Box2D的碰撞 / 299 14.3 开始计算玩家的得分 / 300 14.4 《墓地》(第1关)场景 / 300 14.4.1 常量和字段 / 300 14.4.2 onLoadEngine方法与onLoadResources方法 / 303 14.4.3 onLoadScene方法 / 304 14.4.4 mStartVamp任务 / 306 14.5 《打吸血鬼》 / 307 14.5.1 常量和字段 / 307 14.5.2 onLoadScene方法 / 308 14.5.3 openCoffin和closeCoffin方法 / 309 14.6 《愤怒的村民》 / 310 14.6.1 常量和字段 / 310 14.6.2 onLoadScene方法 / 311 14.6.3 onLoadComplete方法 / 312 14.6.4 addStake方法 / 313 14.7 总结 / 314 14.8 习题 / 314 第15章 多媒体扩展包 / 315 15.1 下载多媒体扩展包 / 316 15.2 动态壁纸 / 317 15.2.1 Android动态壁纸 / 317 15.2.2 创建V3的Android动态壁纸 / 318 15.3 MOD格式音乐 / 322 15.3.1 搜寻MOD格式的音乐 / 322 15.3.2 XMP MOD播放器 / 323 15.4 多人游戏 / 324 15.5 AndEngine的多点触摸 / 326 15.6 增强现实游戏 / 328 15.7 总结 / 332 15.8 习题 / 332 第16章 游戏集成 / 334 16.1 困难度调节 / 336 16.1.1 困难度参数的保存 / 336 16.1.2 困难度参数的设定 / 337 16.2 游戏结束画面的代码 / 337 16.3 第1关:主游戏 / 340 16.4 《打吸血鬼》 / 345 16.5 《愤怒的村民》 / 347 16.6 选项菜单 / 350 16.7 总结 / 350 16.8 习题 / 350 第17章 测试与发行 / 352 17.1 应用程序商业模式 / 353 17.2 测试与发行准备工作 / 354 17.2.1 在实际设备上测试游戏 / 354 17.2.2 考虑加入终端用户许可协议 / 355 17.2.3 向Manifest文件加入图标与标签 / 357 17.2.4 关闭记录与调试功能 / 357 17.2.5 在游戏中增加版本号 / 357 17.2.6 获取密钥 / 358 17.2.7 编译与签名*终的.apk文件 / 359 17.2.8 测试*终的.apk文件 / 359 17.3 发行游戏 / 360 17.3.1 Android Market / 360 17.3.2 App Store / 362 17.4 推广游戏 / 363 17.4.1 App Store推广 / 364 17.4.2 游戏评论网站推广 / 366 17.4.3 手机广告 / 366 17.4.4 口碑营销 / 367 17.4.5 社交网络推广 / 367 17.5 总结 / 367 附录 习题解答 / 369 |
编辑推荐 |
“RickRogers写的这本书很棒,全书以通俗易懂的语言讲解了常见的游戏开发问题。书中以AndEngine作为技术基础来讲解游戏的制作,通过一个完整的范例游戏指导读者进行开发,整个开发过程既涵盖了初学者应该掌握的所有知识点,也为专业级游戏开发者提供了经验与心得。” ——Nicolas Gramlich,AndEngine创始人 |