本节书摘来自华章出版社《HTML5 2D游戏编程核心技术》一书中的第2章,第2.5节,作者[美] 戴维·吉尔里,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.5 缩短编码周期
JavaScript是一种解释型语言,因此在代码改变时不需要重新编译。这意味着改变代码后,通过简单的刷新浏览器就可以使用更新后的代码来重新开始你的游戏。
然而,当你在编辑器中完成代码修改,需要刷新浏览器时,意味着你必须从编辑器切换应用程序到浏览器来刷新页面。一般来说,你可以使用按键或者通过鼠标点击来实现。假若你的代码存在错误或者没有完成需要的功能,你将不得不切换回编辑器进行代码修改。
如果一天之内在应用程序和刷新浏览器之间切换几十次,那么效率会很低。如果浏览器能够在你更改编辑器内的代码时自动刷新,将会极大地提高你的编码效率,相应地,会让你在更短的时间内完成游戏。
使用Ruby脚本,在编辑代码时不用离开编辑区,浏览器会自动刷新,如图2.21所示,它可以监控一个目录里的所有文件。当目录中的任何文件发生改变时,Ruby脚本会自动更新具体的浏览器窗口。你只需在浏览器窗口地址栏中指明目录和文本(正则表达式),接下来的工作交给Ruby脚本去做就可以了。
通过图2.21所示的Ruby脚本(或者类似的工具),在编写代码时,你不再需要离开编辑区。当你每次保存编辑区的更改时,Ruby脚本会自动更新你指定的浏览器窗口。
图2.21 用于监控文件的Ruby脚本
缩短编程周期的好处
当你修改游戏玩法,保存编辑区中的代码时,自动刷新浏览器的益处不大,这是因为你必须要从编辑区切换到浏览器,才能检测你的修改情况。自动刷新浏览器仅仅让你少按了一次刷新页面的按键。
如果你修改游戏的其他方面,例如,游戏的载入画面,在你的游戏自动加载后,你可以不必离开编辑区就查看浏览器中的改变。
当你在使用CSS时,自动刷新浏览器将会给予你很大的帮助。你可以改变CSS,然后立即观察到浏览器中的变化,不需要离开编辑器,这使得快速调整游戏的CSS变得很容易。
Chrome Live Reload扩展包
Chrome有一个免费的名为Live Reload的扩展包,也可以监控文件并刷新浏览器窗口。你可以在http://bit.ly/1ojCxVq找到它。