登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』HTML5 2D游戏编程核心技术

書城自編碼: 2929994
分類: 簡體書→大陸圖書→計算機/網絡圖形圖像/多媒體
作者: [美]戴维·吉尔里[David Geary]
國際書號(ISBN): 9787111551294
出版社: 机械工业出版社
出版日期: 2016-12-01
版次: 1 印次: 1
頁數/字數: 459/350000
書度/開本: 16开 釘裝: 平装

售價:NT$ 743

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
媒介·社会:技术、产业、内容与用户(第六版)
《 媒介·社会:技术、产业、内容与用户(第六版) 》

售價:NT$ 773.0
汉服经典纹样与配色图鉴
《 汉服经典纹样与配色图鉴 》

售價:NT$ 941.0
通识学院:关于心理的101个常识
《 通识学院:关于心理的101个常识 》

售價:NT$ 269.0
三国战争与地要天时
《 三国战争与地要天时 》

售價:NT$ 381.0
以色列的诞生:希望2024版(2024版全2册)
《 以色列的诞生:希望2024版(2024版全2册) 》

售價:NT$ 672.0
楼台上的凝视:清代女性观剧与社交
《 楼台上的凝视:清代女性观剧与社交 》

售價:NT$ 941.0
通胀,还是通缩
《 通胀,还是通缩 》

售價:NT$ 364.0
互联网大厂推荐算法实战
《 互联网大厂推荐算法实战 》

售價:NT$ 503.0

建議一齊購買:

+

NT$ 660
《 可定制军用三维图形绘制引擎系统理论及运用 》
+

NT$ 638
《 Illustrator入门及商业广告设计——UI设计师成长第一步(互联网UI设计师) 》
+

NT$ 299
《 中文版Flash CC动画设计实训案例教程 》
+

NT$ 518
《 中文版3ds Max动画制作课堂实录 》
+

NT$ 315
《 中文版Premiere Pro CC互动教程 》
+

NT$ 882
《 3ds Max&VRay室内渲染火星课堂(第3版) 》
內容簡介:
本书是为希望使用HTML5进行2D游戏开发,且具备一定JavaScript编程经验的开发人员而准备的。在本书中,笔者从零开始完整讲解了一个复杂的横向卷轴平台视频游戏的开发过程,并将该视频游戏命名为“SnailBait”。在开发过程中,笔者没有使用任何第三方图形框架或游戏框架,因此读者将从这本书中学会编程实现平滑动画、Sprite爆炸、开发人员后门程序、游戏难易度设计等所有内容。
目錄
Contents目录译者序前言致谢第1章 概述11.1 Snail Bait游戏31.2 HTML5游戏开发最佳实践81.2.1 窗口失去焦点时暂停游戏81.2.2 窗口重获焦点时实现倒计时功能91.2.3 使用CSS实现UI特效101.2.4 对游戏运行缓慢的状态做出检测和处理111.2.5 添加社交功能111.2.6 将所有游戏图像放在单独的sprite表单中111.2.7 在服务器中存储高分榜和实时游戏数据131.3 特别功能131.4 Snail Bait游戏中的HTML和CSS151.5 开始Snail Bait游戏编程211.6 本书中使用的JavaScript231.7 小结251.8 练习26第2章 原始素材和开发环境272.1 使用开发者工具282.1.1 控制台292.1.2 Chrome Canary的帧速率计数器322.1.3 调试342.1.4 时间线352.1.5 Profiling392.2 获取资源402.2.1 图像402.2.2 图像处理412.2.3 音效和音乐412.2.4 动画422.3 使用CSS背景432.4 生成小图标452.5 缩短编码周期462.6 小结482.7 练习48第3章 图形和动画493.1 使用HTML5 canvas元素绘制图形和图像513.1.1 绘制背景523.1.2 绘制跑步小人533.1.3 绘制平台533.2 实现平滑的HTML5动画553.2.1 requestAnimationFrame方法573.2.2 requestAnimationFrame的polyfill实现573.3 实现游戏主循环603.4 计算帧速率613.5 滚动游戏背景623.5.1 平移坐标系623.5.2 滚动Snail Bait游戏的背景653.6 制作基于时间的运动673.7 反转滚动方向673.8 绘制动画帧683.9 使用视差产生视深的假象683.10 小结713.11 练习71第4章 游戏的基本架构724.1 在JavaScript对象中封装游戏函数734.1.1 SnailBait的构造函数744.1.2 SnailBait的原型754.2 理解JavaScript语言中挑剔的this指针774.3 处理键盘输入794.4 玩家按p键时暂停或者恢复游戏814.5 冻结游戏,确保它精确地在暂停的位置恢复824.6 在窗口失去焦点时暂停游戏834.7 使用动态的倒计时来恢复一个暂停的游戏844.7.1 向游戏玩家显示提示板(简短信息)854.7.2 Snail Bait的倒计时874.8 小结894.9 练习90第5章 游戏加载动画915.1 定义Snail Bait游戏的窗口935.2 使用CSS过渡让元素淡入、淡出965.2.1 让元素淡入975.2.2 让元素淡出985.2.3 snailbait-toast元素的CSS995.2.4 显示和隐藏提示板1005.3 让拥有与CSS过渡属性Opacity关联的元素淡入、淡出1035.4 实现加载动画1055.5 显示游戏画面1095.6 小结1125.7 练习113第6章 sprite对象1146.1 sprite对象1166.1.1 sprite对象的属性1186.1.2 sprite对象的构造函数1196.1.3 sprite对象的方法1196.2 将sprite对象整合到游戏主循环中1216.3 实现sprite对象的artist对象1246.3.1 图形artist对象1246.3.2 图像artist对象1256.3.3 sprite图像表单artist对象1256.3.4 定义sprite图像表单单元格1286.4 创建和初始化游戏的sprite对象1306.5 使用元数据定义sprite对象1336.6 滚动sprite对象1366.7 小结1386.8 练习138第7章 sprite对象行为1407.1 行为基础1427.2 跑步小人行为1437.3 跑步小人的跑动行为1467.4 轻量级行为1487.5 游戏独立行为1507.6 组合行为1557.7 小结1597.8 练习159第8章 时间轴,第1部分:有限行为及线性运动1608.1 实现一个初始的跳跃行为算法1618.2 将处理跳跃行为的职责转交给跑步小人1628.3 实现跳跃行为1648.4 使用秒表记录动画时间1658.5 重新定义跳跃行为1688.6 实现线性运动1708.6.1 上升阶段1708.6.2 下降阶段1718.7 暂停行为1738.8 小结1758.9 练习175第9章 时间轴,第2部分:非线性运动1769.1 理解时间及其衍生物1779.2 使用动画计时器和缓变功能实现非线性跳跃1779.3 实现动画计时器1799.4 实现缓变功能1819.5 微调缓变功能1849.6 实现真实的跳动行为1859.7 使行为随机化1899.8 使用动画计时器和缓变功能实现非线性颜色改变1909.9 小结1939.10 练习193第10章 时间轴,第3部分:时间系统19410.1 Snail Bait游戏的时间系统19510.2 创建和启动时间系统19710.3 将时间系统整合进Snail Bait游戏中19810.3.1 使用时间系统驱动游戏动画19810.3.2 实现使用时间系统修改游戏时间流的函数19910.3.3 在计算帧速率时分解时间比率19910.3.4 使用时间系统暂停和恢复游戏20010.4 重新定义秒表和动画计时器的当前时间20210.5 实现时间系统20610.6 小结20810.7 练习208第11章 碰撞检测20911.1 碰撞检测过程21011.2 碰撞检测技术21111.3 Snail Bait游戏中的碰撞检测21211.3.1 sprite对象的碰撞矩形21211.3.2 跑步小人的碰撞行为21411.4 为碰撞检测选择碰撞候选对象21511.5 在跑步小人与其他sprite对象之间检测碰撞21611.6 处理碰撞21711.7 优化碰撞检测22011.7.1 改善包围盒22011.7.2 使用空间分割方法22111.8 监测碰撞检测的运行性能22211.9 编程实现碰撞检测的边界案例22311.10 小结22611.11 练习226第12章 重力22812.1 为跑步小人实现坠落行为22812.2 实现重力23012.2.1 跑步小人的坠落行为23212.2.2 计算初始下降速度23612.2.3 在跑步小人坠落过程中暂停游戏23712.3 最终版的碰撞检测23712.4 小结23812.5 练习239第13章 sprite动画和特殊效果24013.1 实现sprite动画24113.2 创建特效24613.2.1 晃动游戏画面24613.2.2 场景切换24813.3 编排效果25313.3.1 炸死蜜蜂25413.3.2 引爆按钮25613.4 小结25813.5 练习258第14章 声音和音乐25914.1 创建声音和音乐文件26114.2 加载音乐和音效26214.3 设置声音和音乐控件26314.4 播放音乐26414.5 循环播放音乐26514.6 播放音效26714.6.1 创建sprite音频对象27014.6.2 定义音效对象27114.6.3 实现多声道播放音效27214.7 打开和关闭声音播放27914.8 小结28014.9 练习280第15章 移动设备28115.1 在移动设备上运行Snail Bait游戏28415.2 检测移动设备28415.3 缩放游戏以适应移动设备28615.3.1 HTML5 viewport元标签28715.3.2 以编程方式调整游戏画面以适应移动设备屏幕29115.4 修改游戏动画底部的控制说明29515.5 修改欢迎界面29515.5.1 实现欢迎提示29615.5.2 实现移动设备中的控制说明30115.5.3 实现移动设备版开始提示30515.5.4 显示移动设备中的开始提示30615.6 添加触控事件30715.7 在移动设备中处理音频的方法31015.8 在主屏幕上添加启动图标,并以全屏模式运行游戏31215.9 小结31315.10 练习313第16章 粒子系统31416.1 排烟孔粒子系统31516.2 使用排烟孔粒子系统31816.2.1 定义排烟孔粒子系统数据31816.2.2 创建排烟孔粒子系统31816.2.3 将排烟孔粒子系统存入Snail Bait游戏的sprite对象数组中31916.2.4 在每个动画帧中滚动排烟孔粒子系统32016.3 编程实现排烟孔粒子系统32116.3.1 把排烟孔粒子系统伪装成sprite对象32116.3.2 组合火焰粒子32316.3.3 组合烟泡32716.4 暂停排烟孔粒子系统33716.5 小结33816.6 练习338第17章 用户界面33917.1 记录玩家游戏成绩34017.2 增加游戏生命指示器34317.3 显示游戏字幕34817.4 使用Tweet发布玩家游戏得分35417.5 当游戏运行缓慢时通知游戏玩家35717.5.1 监控帧速率36117.5.2 编程实现运行缓慢通知的事件处理句柄36317.6 编程实现通关动画36417.7 小结36817.8 练习368第18章 开发者后门程序37018.1 Snail Bait游戏的开发者后门37218.2 开发者后门的HTML元素及CSS37318.3 显示及隐藏开发者后门37518.4 更新开发者后门的元素37718.5 实现开发者后门的复选框37818.5.1 显示及隐藏碰撞矩形38018.5.2 启用或禁用运行缓慢通知38218.5.3 显示或隐藏排烟孔粒子系统38318.5.4 更新开发者后门的复选框38318.6 实现开发者后门的滑动条38418.6.1 为开发者后门的滑动条定义HTML元素及CSS38618.6.2 在Snail Bait游戏的Java-Script代码中访问滑动条的读数38718.6.3 创建并初始化开发者后门的滑动条38818.6.4 将运行缓慢的滑动条关联到游戏中38918.6.5 将时间速率滑动条关联到游戏中38918.6.6 将游戏关联到时间速率滑动条上39018.6.7 在显示开发者后门之前更新滑动条39118.7 实现开发者后门刻度尺39218.7.1 创建并访问刻度尺的canvas元素39318.7.2 淡入淡出刻度尺39418.7.3 绘制刻度尺39518.7.4 更新刻度尺39618.7.5 拖动游戏画面39718.8 小结40118.9 练习401第19章 服务器端开发:内部指标、高分记录及部署40319.1 Node.js及socket.io简介40419.2 在Snail Bait游戏中引入socket.io40619.3 创建一个简单的服务器40719.4 在服务器端创建套接字40719.5 启动服务器40819.6 在客户端创建一个套接字并连接到服务器40819.7 记录游戏内部指标40919.8 管理高分记录41219.8.1 实现高分记录的用户界面41319.8.2 检索服务器中的高分记录41519.8.3 在客户端显示高分记录41819.8.4 监视姓名输入41919.8.5 验证并将高分记录存储到服务器42019.8.6 重新显示高分记录42219.8.7 开始新游戏
內容試閱
前言?Preface本书是为希望使用HTML5进行2D游戏开发,且具备一定JavaScript编程经验的开发人员而准备的。在本书中,笔者从零开始完整讲解了一个复杂的横向卷轴平台视频游戏的开发过程,并将该视频游戏命名为“Snail Bait”。在开发过程中,笔者没有使用任何第三方图形框架或游戏框架,因此读者将从本书中学会以编程方式实现平滑动画、sprite爆炸、开发人员后门程序、游戏难易度设计等所有内容。如果读者正在使用某个游戏框架开发游戏,那么本书对于帮助读者理解游戏框架内部的工作原理也同样大有裨益。出于教学目的,Snail Bait游戏仅实现了一个关卡,然而它却具备了街机风格游戏的全部特点。Snail Bait游戏在滚动的背景上同时操作多个动画对象,即sprite对象,在播放游戏背景音乐的同时添加多种音频效果。sprite对象具备多种行为,包括但不限于跑动、跳跃、飞行、闪光、弹跳、来回移动、爆炸、碰撞、平台着陆、从游戏画面底部跌落等。另外,Snail Bait游戏还实现了多个特色功能。例如,一个可以减慢或加快游戏整体速度的时间系统;游戏加载过程动画;当游戏主角失去生命时,震动游戏画面的特殊效果;模拟烟雾和燃烧的粒子系统等。当游戏窗口失去焦点时,Snail Bait游戏会暂停运行,而当游戏窗口重新获得焦点时,Snail Bait游戏会以一个倒计时动画作为开始,以便玩家有时间来恢复对游戏的控制。虽然没有使用游戏框架或图形框架,但是Snail Bait游戏使用Node.js和socket.io技术实现了将游戏中的一些指标数据发送到服务器端、高分存储和检索,并在游戏窗口顶部显示高分榜等功能。当游戏运行缓慢时,Snail Bait游戏还将显示警告信息。而当按下“Ctrl+D”组合键启动游戏时,Snail Bait游戏将启动开发人员后门程序,从而赋予操作人员特殊权限,例如修改时间轴的流动,或者显示sprite对象碰撞检测矩形以及其他功能等。当Snail Bait游戏检测到自己运行在移动设备上时,将通过调用触摸事件处理句柄、调整游戏窗口大小来重新配置自身,以便适应移动设备的屏幕大小及控制方式。本书将展示如何一步一步编程实现Snail Bait游戏的所有功能,这样读者就可以在自己的游戏中实现类似的功能。本书简史早在2010年,笔者从一款流行的Android系统下的开源游戏Replica Island中下载了图片和声音,并使用它们在Android系统中实现了Snail Bait游戏的初始版本。当时,笔者已经对HTML5 Canvas技术产生了浓厚的兴趣,并开始写作上一本图书《HTML5 Canvas核心技术:图形、动画与游戏开发》。在写作期间,笔者持续完善了Snail Bait游戏,将它从基于Java语言及Android的系统环境,迁移到了基于JavaScript语言、HTML5 canvas元素及浏览器的环境中。在2012年写作完成时,笔者已经开发出了一个虽然原始但功能基本完整的游戏版本。2012年年底,笔者基于Snail Bait游戏开始为IBM developerWorks网站撰写10篇关于游戏编程的系列技术文章(关于这些技术文章的链接,请参阅后面的“网上资源”部分)。在接下来的10个月中,基于写作需要,笔者继续完善、修改了Snail Bait游戏。2013年夏天,Snail Bait游戏已经日趋成熟。笔者前往加利福尼亚的塞瓦斯托波尔,把Snail Bait游戏开发的全过程放在一起,拍摄了一部长达15小时的O’Reilly视频,取名为“HTML5 2D游戏开发”。从某个方面而言,这部视频就是本书的电影版。虽然该视频直到9月才得以发布,但它依然成为当年的十大畅销O’Reilly视频之一(关于这段视频的链接,请参阅后面的“网上资源”部分)。2013年7月,从塞瓦斯托波尔回到家之后,笔者便全身心地投入到本书的写作中。笔者改写了IBM developerWorks网站上的10篇系列技术文章,将这些文章作为本书的开始章节,并在其后添加了10章的新内容。在写作的整个过程中,笔者不断迭代修改Snail Bait游戏的代码,使其更具有可读性。2013年12月,在本书第1~19章完成后,笔者决定增加最后一章。该章讲解了如何使用本书介绍的技术实现一个简单完整的视频游戏,这就是第20章中Bodega’s Revenge游戏的由来。如何阅读本书本书的写作目的简单明确:通过讲解如何实现一个复杂的视频游戏,教会读者开发属于自己的游戏。读者可以采用多种方式阅读本书。首先,笔者为了使本书更便于阅读,在书中添加了大量的截图、程序清单和图表。书中灵活地使用了“注意”“提示”“警告”和“最佳实践”模块。这些模块精简了本书主要内容,每个“注意”“提示”“警告”和“最佳实践”模块都有一个标题(除了只有一行的模块之外),这样读者一眼就可以判定这些辅助内容是否与自己的实际情况有关。总体而言,本书主要是在讲解开发方法,而这些模块则重点提示了开发的原因。如果读者时间有限,那么可以抛开这些模块,直接阅读本书的主要内容,从而快速掌握游戏底层的工作机制,同时确保不会遗漏任何重要内容。本书第1~19章讲解了Snail Bait游戏的完整开发过程,从一个简单的显示图像的游戏版本开始,涵盖了HTML5视频游戏开发的所有特点。第20章总结全书,使用本书前19章讲述的大部分技术内容实现了第二个视频游戏。如果读者计划精读本书,而不仅仅是把它当作一个参考,那么建议从第1章或第20章开始阅读,其中第20章除了对第1~19章所学内容进行了回顾与综述外,还增加了部分新知识,例如极坐标系统和旋转坐标系统的应用。假如读者从第20章开始阅读,甚至只是略微地浏览一下第20章,读者都可以对前19章所讲述的内容有一个大致的了解,但是不要奢望在第一次阅读时就能理解透彻。笔者猜想大部分读者都希望把本书当作一个参考,因此除了在每章的开头部分加入该章主题外,还在每章的开始部分添加了一段关于该章内容的简要介绍。这样将给读者快速定位具体内容带来很大便利。同时,笔者还加入了许多关于如何实现具体功能的分步说明,这样读者就可以按照这些步骤实现自己的类似功能。本书练习被动地阅读一本书不会将任何人变成一个游戏开发程序员。读者必须通过自己动手编写一些代码来真正学会实现一款游戏的方法。为此,本书在每一章的结束部分都列出了一些练习,以帮助读者更好地学习。为了完成练习,读者需要下载Snail Bait游戏源代码的最终版本,并且修改代码。在某些情况下,练习将指导读者修改某个具体版本的Snail Bait游戏源代码,这些版本的游戏源代码与具体的章节有关。关于Snail Bait游戏源代码版本划分的详细信息,请阅读下面的内容。Snail Bait游戏源代码及其版本划分本书讲述的主要内容来源于两个视频游戏。读者可以通过“网上资源”部分的URL地址查看、下载这两个游戏及其源代码。在阅读时,读者会发现参考Snail Bait游戏的源代码对于理解书中的内容非常有帮助,而通过参考与读者正在阅读的章节对应的源代码,这种帮助将更加明显。例如,在第1章里,我们实现了Snail Bait游戏的一个初始版本,简单绘制了游戏背景和游戏主角。这个版本的源代码与最终版本的源代码虽然有少量相似之处,但此时就查阅最终版本的源代码一点用都没有,大量的代码反而会让读者眼花缭乱。反倒是参考corehtml5games.combookcodech01网址上这个对应第1章结束的版本更有助于读者理解第1章所讲述的内容。本书每章(除第2章外)对应的源代码版本的URL都按照corehtml5games.combookcodech??的格式设定,其中“??”代表了对应于第01~20章的两位数字。如上所述,除非另有说明,否则本书每章最后部分的练习都对应于按照章节一步一步开发游戏,在章节结束时得到的Snail Bait游戏版本。网上资源本书配套网站:corehtml5games.comSnail Bait游戏的在线网址:corehtml5games.comsnailbaitBodega’s Revenge游戏的在线网址:corehtml5games.combodegas-revengeSnail Bait游戏源代码下载地址:corehtml5games.combookdownloadssnailbaitBodega’s Revenge游戏源代码下载地址:corehtml5games.combookdownloadsbodegas-revengeO’Reilly网站上作者的“HTML5二维游戏开发”视频:shop.oreilly.comproduct0636920030737.doIBM developerWorks网站上作者的“HTML5二维游戏开发”系列技术文章:www.ibm.comdeveloperworksjavalibraryj-html5-game1index.html作者2013年在亚特兰大HTML5用户组会议上关于HTML5游戏编程的演讲视频:youtube.comwatch?v=S256vAqGY6c作者出版的《HTML5 Canvas核心技术:图形、动画与游戏开发》在亚马逊上的链接:http:amzn.to1jfuf0C预备知识如果人们不能说某种语言或以这种语言书写,他们就不会考虑上这样一门创造性的书写课。同样,为了使用HTML5编程实现复杂游戏,读者就必须掌握JavaScript语言。JavaScript语言是学习本书的前提基础。本书程序清单所列的代码几乎都是用JavaScript语言编写的,但这并不代表只掌握JavaScript语言就够了,读者还需要掌握与之相关的HTML和CSS,熟悉计算机图形学,并具备基本的数学知识。关注自己的游戏最后,让我们来讨论一下为什么我们能够聚在这里。笔者猜想读者之所以阅读本书是因为大家希望通过编程来实现一款属于自己的游戏。本书按章节讨论了游戏编程的各个方面,例如实现sprite、碰撞检测等。虽然它们属于Snail Bait游戏,但是读者也能轻松地将这些实现方法套用到自己的游戏当中。本书章节顺序的编排也很重要,这些章节展示了如何从头开始一步一步编程实现一款游戏。在本书的开始部分,首先收集原始素材,搭建开发环境,然后从绘制游戏的基本图形开始编程开发。在随后的章节中,逐步向游戏中添加动画、sprite对象、sprite对象行为等功能,从而逐步完善Snail Bait游戏。如果读者正在从零开始开发一款游戏,那么可能会希望遵循同样的讲解方式,这样读者就可以一边学习实现功能的方法,一边在自己的游戏中实现这些功能。在开始认真编写代码之前,大家应该多花一些时间来搭建开发环境,并尽可能地熟悉手中浏览器的开发者工具。建议大家在第2章结束前,尽可能缩短自己的开发周期,因为在准备阶段多花的时间将会大大提高后续的开发效率。最后要感谢大家购买本书。笔者迫不及待地想要看到你自己创造的游戏!David Geary科罗拉多州,柯林斯堡2014年Acknowledgements?致谢我非常庆幸自己能够拥有一位非常优秀的编辑,他也是我20年写作生涯里的唯一一位编辑,一个总能从我的下一本书中读懂并接受我的观念的编辑,一个总是指导我将概念变成作品的编辑,Greg Doench。像往常一样,Greg Doench在本书从计划写作到成书的全过程中给了我充分的帮助及指导。Mary Lou Nohr是一位非常棒的文字编辑,她参与编辑了我此前的所有著作。当她再次欣然同意担任本书的责任编辑时,我感到自己非常幸运。这是我和Alina Kirsanova合作的第2本书,Alina Kirsanova是一位非常出色的排版编辑,我的PDF文件经过她的处理后,总会变得非常漂亮。Julie Nahil监督了本书的出版,使整个出版过程都能按照出版商的要求如期进行。每当完成一本书的写作时,我都会选择那些个人认为能够帮助我改进作品的人来担任审稿人。这一次我选择了4位非常出色的审稿人:Jim O''Hara、Timothy Harrington、Simon Sarris和Willam Malone。Gintas Sanders允许我在Snail Bait游戏中使用他的金币图片,并指出了Snail Bait游戏中的许多不足。在为O’Reilly拍摄“HTML5二维游戏开发”视频时,我有幸接触到了当时的现场观众,其中一位观众给我留下了深刻印象,他向我提出了很多问题和建议,此人就是本书的审稿人Jim O’Hara。在此后的审稿过程中,Jim O’Hara一如既往地认真负责,向我提出了许多好问题、好建议。编辑Greg Doench介绍我认识了Tim Harrington,他是德锐大学的一个高级学术应用分析师,并且具有游戏开发的实际经验。他的许多建议使我深受启发,并促使我重新思考如何更好地完成本书。我一直在为本书寻找一位非常了解游戏编程的图形专家,最后我找到了Simon Sarris。让我喜出望外的是,他不仅是一位精通游戏编程的图形专家,还是一位优秀的作家,他提出的几种不同方法帮助我完善了本书。最后,我很庆幸William Malone能够审阅本书。William是一位专业的游戏开发人员,他开发了Sesame Street游戏(相关信息请查阅http:bit.ly1nlSY3N)。William的工作对本书产生了深刻的影响,他指出了我忽略了的许多细节,特别是关于移动设备的问题。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.