jQuery版的坦克游戏,希望大家喜欢
by
at 2010-10-13 12:09:11
original http://www.javaeye.com/topic/783537
一款jQuery版tank游戏,画面美观、逼真,可双人游戏,其效果堪与flash媲美。支持浏览器:ie6+,firefox,opera,safari,在ie9或其他非ie浏览器,可获得更加流畅的游戏速度。
下载地址:http://code.google.com/p/jtankwar/
游戏效果截图:
主页--游戏设置
游戏中..
暂停/退出
任务结束
tankwar源码说明:
1. jquery.game.js。定义了所有对象:tank, bullet, roadblock, king等。
对象定义方法: function Tank(opt) { //public变量 this.id = id; //private变量 var bloods = opt.bloods || 1; //public方法 this.move = function(dir) {...}; this.fire = function() {...}; //private方法 function isBlocked() {...}; }
2. tank.start.js。将上面的对象实例化,添加事件监听,通过键盘事件调用fire和move。这样对象和调用就完全分离开了,且对象结构清晰严谨、重用性、扩展性俱佳。
代码调用片断: t1 = new Tank({...}); $(document).keydown(function(e){ e = e || window.event; var key = e.which || e.keyCode; switch (key) case 38: t1.move('up'); break; case 40: t1.move('down'); break; case 37: t1.move('left'); break; case 39: t1.move('right'); break; case 32: t1.fire(10); break; default: break; });
3. tank.home.js。负责菜单初始化和跳转。
4. 地图(maps/map[i].json)。
地图json: { "map": [{ "clazz": "b", //敌方tank出生地 "top": 107, //位置 "left": 9 }, { "clazz": "h", //子弹打不穿的石头roadblock "top": 272, "left": 10 }, { "clazz": "e", //子弹打得穿的砖roadblock "top": 312, "left": 43 }, { "clazz": "w", //水roadblock "top": 350, "left": 654 }] }
<br><br>
作者: <a href="http://danny-chiu.javaeye.com">danny.chiu</a>
<br>
声明: 本文系JavaEye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
<br><br>
<span style="color:red">
<a href="http://www.javaeye.com/topic/783537" style="color:red">已有 <strong>49</strong> 人发表回复,猛击->><strong>这里</strong><<-参与讨论</a>
</span>
<br><br><br>
JavaEye推荐