PS:这个坦克大战是在网上下的一段源码之后,自己进行的重写.   写这个的目的是为了巩固自己这段时间对js的学习.整理到博客上,算是对自己近端时间学习js的一个整理. 同时也希望可以帮助到学习js的园友.由于自己也是刚学js不久,所以难免出现错误.如果发现希望给予指正.   这个教程适合熟悉js基本语法和面向对象语法的园友学习. 本身没有太难的东西,这个案例将js面向对象用的比较好,可以作为js面向对象的入门教程. 1.   创建基本对象,实现坦克简单的移动. 1.1    如何在地图中绘制画布…
之前,我们完成了坦克的移动和地图的绘制,这次我们来完成碰撞检测和炮弹的发射. 上代码前来张最新的类图: 3. 碰撞检测     前面我们已经完成了坦克的移动和地图的绘制,下面我们开始写碰撞检测. 3.1    创建碰撞检测对象         我们创建一个对象来做碰撞检测,由于碰撞检测都是在对象移动的时候进行的所以我们让Mover继承我们的碰撞对象.   HitTestObject.js:   // 碰撞检测对象 继承自顶级对象 HitTestObject = function () { } H…
我们现在还差一个重要的功能,没错,敌人坦克的创建以及子弹击中敌人坦克时的碰撞检测功能. 5.  创建敌人坦克完成炮弹碰撞检测 5.1   创建敌人坦克对象 敌人坦克和玩家坦克一样,同样继承自我们的坦克对象.所以我们在Tank.js中写入以下代码: // 敌人坦克对象 EnimyTank = function () { this.Direction = EnumDirection.Down; this.BombNum = 1; this.UI = UtilityClass.CreateE("div…
2.   完善地图 我们的地图中有空地,墙,钢,草丛,水,总部等障碍物. 我们可以把这些全部设计为对象. 2.1  创建障碍物对象群       对象群保存各种地图上的对象,我们通过对象的属性来判断对象是否可以被穿过或被攻击.   Barrier.js:     // 障碍物基类对象,继承自TankObject Barrier = function () { this.DefenVal = 1; // 防御力 this.CanBeAttacked = true; // 是否可以被攻击 } Bar…
什么是对象的数据属性?什么是对象的访问器属性?[put]方法是默认创建数据属性的,访 问器属性不包含值而是定义了一个单属性被读取时调用的函数(getter)和当一个属性被写入时 调用的函数(setter).访问器属性仅需要getter或setter中的任意一个,当然也可以两者都有. 关于javascript面向对象精要第三章对象整理如下…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! 坦克大战V0.3实现功能: 1.写一个Tank类,方便以后产生多辆坦克(重要:利用面向对象的思维) 2.让坦克可以朝着8个方向运动,是完全受控,可停可走 注意事项: 1.使用Tank类的好处,方便以后产生多辆坦克,和坦克相关的变量和方法都可以在Tank类中定义,要使用…
全部html5都采用绘图技术完成.坦克是画出来的.(坦克,子弹,墙,水,草坪) 首先我们画出坦克. 坦克是两边两个矩形,中间一个大矩形,矩形了有一个圆,还有一根线. 画出坦克的思路是以坦克的左上角为参照点,画出坦克的其他部分. 这样的好处是,当左上角的点发生改变是,坦克才能发生改变. 不使用图片的原因就是图片是比较耗费资源的.因为图片的像素点很大. tankGame1.html的代码 <!DOCTYPE html><html><head><meta charset…
定义父类和子类的继承关系 //声明父类 function SuperClass(){ this.superValue = true; } //为父类添加共有方法 SuperClass.prototype.getSuperValue=function(){ return this.superValue; } //声明子类 function SubClass(){ this.subValue = false; } //继承父类 SubClass.prototype = new SuperClass(…
前言 javascript与程序的语言比如C#或者java不一样,他并没有“类”的概念,虽然最新的ECMAScript提出了Class的概念,我们却没有怎么用 就单以C#与Java来说,要到真正理解面向对象的程度也是要花一点功夫的,特别是初学的同学往往意识不到面向对象的好处,因为我们编码的流程是这样的 ① 面向过程 这个时候,我们要思想一个东西,往往就用一个大代码段完成了 ② 方法重用 我们有时候再也受不了重复的代码在一个地方存在了,于是这个时候我们会将相同的逻辑抽象为一个方法 ③ 当代码达到一…
记起自己去年參加的一次面试,在做过Java多年的面试官面前发挥的并不好,但他一听说我会html5,立刻眼睛发亮.无论不顾的想要和我签约.. .所以.如今为工作犯愁的朋友们,学好html5,绝对会为你找到好工作加入重要砝码.                  html5 大致是 (html+css3+javascript apis).一句话: html5 支持了css3 的强大的选择器和动画等功能+ 支持javascript 非常多新的函数.所以html5就非常强大了.        所以在此特意…