2.6 第六步:添加精彩的结局

当前的游戏有两个结局:一个是平淡无奇的结局,另一个则是惹怒了一只恐龙。那么如何表示恐龙发怒之后攻击玩家的页面呢?这可以用一个有趣而古怪的jQuery插件来实现,此插件名为raptorize,可以从http://www.zurb.com/playground/jquery-raptorize下载。

将raptor-sound.mp3与raptor-sound.ogg放入index.html所在的目录。(这两个文件都要用到,因为不同的浏览器所支持的音频编码器不同。)把jQuery库与jquery.raptorize插件的源文件,以及raptor.png这张图像文件也放入上述目录。

把程序清单2.24中的粗体代码加入index.html文件里,用以载入相关脚本。

程序清单2.24 修改index.html,以显示暴怒的恐龙

我们新添加了三个script标签。第一个用来从Google的“内容发布网络”(Content Delivery Network,简称CDN)中加载jQuery,对于正式发布的应用程序来说,这么做性能更好。若是无法从Google加载jQuery(这通常说明用户的网络连接有问题,因为Google的CDN非常稳定,一般不会出错),则通过第二个script标签来加载本地的jQuery库文件。第三个script标签用于载入raptorize.js文件。

程序清单2.25列出了game.js中需要略加修改的地方。

程序清单2.25 修改game.js,以显示暴怒的恐龙

首先,在things对象中,调整玩家将球棒(bat)道具运用在恐龙(dino)之上时,所产生的效果(effects)。之后使dino与bat均从页面中消失,并将一个回调函数设为callback属性,在这个回调函数中调用screen对象的callDino方法。接下来修改dropItemInfo函数,增加一条判断语句,用以检查是否有callback属性,若有,则执行其中的回调函数。最后,把callDino函数加入screen对象,并在其return代码块中将它设为可供外界访问的公共方法。

若是一切正常,那么当玩家用球棒击打恐龙之后,恐龙就会暴怒,呼啸着从屏幕前掠过,如图2.5所示。

图2.5 精彩的结局