,,JavaScript实现微信飞机大战游戏

,,JavaScript实现微信飞机大战游戏

这篇文章主要为大家详细介绍了Java脚本语言实现微信飞机大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java脚本语言实现微信飞机大战游戏的具体代码,供大家参考,具体内容如下

超文本标记语言代码

!文档类型

超文本标记语言

标题微信经典飞机大战/标题

meta http-equiv=' content ' content=' text/html ' charset=' utf-8 '/

link rel='样式表' type=' text/CSS ' href=' CSS/main。CSS '/

/头

身体

div id='contentdiv '

div id='startdiv '

buttonon click=' begin()'开始游戏/按钮

/div

div id='maindiv '

div id='scorediv '

标签分数:/标签

标签id='标签' 0/标签

/div

div id='suspenddiv '

按钮继续/buttonbr/

按钮重新开始/buttonbr/

按钮回到主页/按钮

/div

div id='enddiv '

p class='plantext '飞机大战分数/p

p id='planscore'0/p

点击时的div按钮='许继()'继续/按钮/div

/div

/div

/div

脚本类型=' text/JavaScript ' src=' js/main。js '/脚本

brbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbr

brbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbr

/body

/html

钢性铸铁代码

*{

边距:0;

填充:0;

}

#contentdiv{

位置:绝对;

左:500像素

顶配:50px

溢出:隐藏;

}

#startdiv{

宽度:320像素

高度:568像素

背景-图像:url(./图片/开始背景. png);

}

按钮{

大纲:无;

}

#startdiv按钮{

位置:绝对;

顶配:500像素

左:82px

宽度:150像素

高度:30px

边框:1px纯黑;

边框半径:30px

背景色:# C4 C9 ca;

}

#maindiv

宽度:320像素

高度:568像素

背景-图像:url(./图像/背景_ 1。png);

显示:无;

}

#maindiv img{

位置:绝对;

z指数:1;

}

#scorediv{

字体大小:16px

字体粗细:粗体;

位置:绝对;

top:10px;

左:10px

显示:无;

}

#scorediv{

字体大小:18px

字体粗细:粗体;

}

#suspenddiv{

位置:绝对;

顶配:210 px

左:82px

显示:无;

z指数:2;

}

# suspenddiv按钮{

宽度:150像素

高度:30px

边距-底部:20px

边框:1px纯黑;

边框半径:30px

背景色:# C4 C9 ca;

}

#enddiv{

位置:绝对;

顶配:210 px

左:75像素

边框:1px纯灰;

边框半径:5px

文本对齐:居中;

背景色:# d7ddde

显示:无;

z指数:2;

}。植物文本{

宽度:160像素

高度:30px

行高:30px

字体大小:16px

字体粗细:粗体;

}

#planscore{

宽度:160像素

高度:80px

行高:80px

边框-顶部:1px纯灰;

边框-底部:1px纯灰;

字体大小:16px

字体粗细:粗体;

}

#enddiv div{

宽度:160像素

高度:50px

}

#enddiv div按钮{

页边距-顶部:10px

宽度:90px

高度:30px

边框:1px纯灰;

边框半径:30px

}

射流研究…代码

//获得主界面

var mainDiv=document。getelementbyid(' mainDiv ');

//获得开始界面

var startdiv=document。getelementbyid(' startdiv ');

//获得游戏中分数显示界面

var score div=文档。getelementbyid(' score div ');

//获得分数界面

var分数标签=文档。getelementbyid(“label”);

//获得暂停界面

var suspendiv=文档。getelementbyid(' suspendiv ');

//获得游戏结束界面

var enddiv=document。getelementbyid(' enddiv ');

//获得游戏结束后分数统计界面

var planscore=文档。getelementbyid(' planscore ');

//初始化分数

定义变量分值=0;

/*

创建飞机类

*/

功能计划(hp,X,Y,sizeX,sizeY,score,dietime,sudu,boomimage,imagesrc){

这个。planx=X;

这个。plany=Y;

this.imagenode=null

this.planhp=hp

this.planscore=分数

this.plansizeX=sizeX

this.plansizeY=sizeY

this.planboomimage=boomimage

this.planisdie=false

这个。计划饮食时间=0;

这个。计划饮食时间=饮食时间;

this.plansudu=sudu

//行为

/*

移动行为

*/

this.planmove=function(){

如果(分数=50000){

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu ' px

}

else if(分数50000分数=100000){

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu 1 ' px

}

else if(分数100000分数=150000){

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu 2“px”;

}

else if(分数150000分数=200000){

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu 3 ' px

}

else if(分数200000分数=300000){

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu 4“px”;

}

否则{

这个。图像节点。风格。top=这个。图像节点。抵消这个。计划udu 5“px”;

}

}

this.init=function(){

这个。图像节点=文档。createelement(“img”);

这个。图像节点。风格。左=这个。planx ' px

这个。图像节点。风格。top=这个。plany ' px

这个。图像节点。src=图像src;

主分区。appendchild(这个。图像节点);

}

这个。init();

}

/*

创建子弹类

*/

函数bullet(X,Y,sizeX,sizeY,imagesrc){

this.bulletX=X

这个。bullety=Y;

this.bulletimage=null

这个。bulletattach=1;

this.bulletsizeX=sizeX

this.bulletsizeY=sizeY

//行为

/*

移动行为

*/

this.bulletmove=function(){

这个。bulletimage。风格。top=这个。bulletimage。offsettop-20 ' px ';

}

this.init=function(){

这个。项目符号图像=文档。createelement(“img”);

这个。bulletimage。风格。左=这个。bullet x“px”;

这个。bulletimage。风格。top=这个。bullety“px”;

这个。bulletimage。src=图像RC;

主分区。appendchild(这个。bulletimage);

}

这个。init();

}

/*

创建单行子弹类

*/

函数oddbullet(X,Y){

bullet.call(this,X,Y,6,14,' image/bullet 1。png’);

}

/*

创建敌机类

*/

函数敌人(hp,a,b,sizeX,sizeY,score,dietime,sudu,boomimage,imagesrc){

plan.call(this,hp,random(a,b),-100,sizeX,sizeY,score,dietime,sudu,boomimage,images RC);

}

//产生部到最大之间的随机数

函数随机(最小值,最大值){

回归数学。楼层(最小数学。random()*(max-min));

}

/*

创建本方飞机类

*/

函数我们的计划(X,Y){

var imagesrc='image/我的飞机. gif ';

plan.call(this,1,X,Y,66,80,0,660,0,' image/本方飞机爆炸. gif ',imagesrc);

这个。图像节点。设置属性(“id”、“我们的计划”);

}

/*

创建本方飞机

*/

var selfplan=new ourplan(120,485);

//移动事件

改变我们计划=文件。getelementbyid('我们的计划');

var yidong=function(){

var OE vent=窗口。事件| |参数[0];

var chufa=oevent。加速| |事件。目标;

var self planx=OE vent。clientx-500;

var self plany=OE vent。客户关系;

我们的计划。风格。左=自我计划x-自我计划。plansizex/2“px”;

我们的计划。风格。top=自我计划。plansize y/2 ' px ';

//文档。getelementsbytagname(' img ')[0]。风格。左=自我计划x-自我计划。plansizex/2“px”;

//文档。getelementsbytagname(' img ')[0].风格。top=自我计划。plansize y/2 ' px ';

}

/*

暂停事件

*/

定义变量数=0;

var zanting=function(){

if(number==0){

暂停部门。风格。display=' block

如果(文档。removeeventlistener){

maindiv。removeeventlistener(' mousemove ',yidong,true);

身体。removeeventlistener(' mousemove ',bianjie,true);

}

else if(document.detachEvent){

主分区。detachevent(' onmousemove ',yidong);

身体。detachevent(' onmousemove ',卞杰);

}

间隙(集合);

数字=1;

}

否则{

暂停部门。风格。display=' none

if(document.addEventListener){

maindiv。addevent侦听器(' mousemove ',yidong,true);

身体。addevent侦听器(' mousemove ',bianjie,true);

}

else if(document.attachEvent){

主分区。附加事件(' onmousemove ',yidong);

身体。attach event(' onmousemove ',bianjie);

}

set=setInterval(start,20);

数字=0;

}

}

//判断本方飞机是否移出边界,如果移出边界,则取消鼠标移动事件,反之加上鼠标移动事件

var bianjie=function(){

var OE vent=窗口。事件| |参数[0];

var body objx=OE透气产品。clientx

var body objy=OE透气产品。客户关系;

if(body objx 505 | | body objx 815 | | body objy 0 | | body objy 568){

如果(文档。removeeventlistener){

maindiv。removeeventlistener(' mousemove ',yidong,true);

}

else if(document.detachEvent){

maindiv。detchevrent(' onomosemove ',义东);

}

}

其他

如果(文档。添加事件侦听器)}

maindiv。addevent侦听器(' mousemove,yidong,true);

}

else if(文档。附加)>

maindiv。attach ent(' nomemove ',yidong);

}

}

}

//暂停界面重新开始事件

崇信凯石()函数[

//位置。重新加载(true);

//startiv。风格。display=' none

//主分区。风格。display=' block ';

//}

var body obj=document。getelement sbytname(' body ')[0];

如果(文档。添加事件侦听器)}

//为本方飞机添加移动和暂停

maindiv。addevent侦听器(' mousemove,yidong,true);

//为本方飞机添加暂停事件

自我计划。图像节点。addevent侦听器(' click ',zanting,true);

//为体表添加判断本方飞机移出边界事件

身体。addevent侦听器(' mousemove,bianjie,true);

//为暂停界面的继续按钮添加暂停事件

暂停部门。获取元素sbytname(' button ')[0].addEventListener('click ',zanting,true);

//挂起div。获取元素sbytagname(' button ')[1].addEventListener('click ',chongxinkaishi,true);

//为暂停界面的返回主页按钮添加事件

暂停部门。获取元素sbytname(' button ')[2].addEventListener('click ',许继,true);

}

else if(文档。附加)>

//为本方飞机添加移动

主分区。attach(" onomosemove,yidong ");

//为本方飞机添加暂停事件

自我计划。imagenode。attach(' onclick ',赞庭);

//为体表添加判断本方飞机移出边界事件

身体。attach ent(' onoumosemove ',bianje);

//为暂停界面的继续按钮添加暂停事件

暂停部门。获取元素sbytname(' button ')[0].连接符(‘onclick’,赞庭);

//挂起div。获取元素sbytagname(' button ')[1].连接符(‘click’,崇信开释,真);

//为暂停界面的返回主页按钮添加事件

暂停部门。获取元素sbytname(' button ')[2].连接(‘咔嚓’,许继,真);

}

//初始化隐藏本方飞机

自我计划。图像节点。风格。display=' none

/*

敌机对象数组

*/

var敌人=[]:

/*

子弹对象数组

*/

var bullets=[]:

var mark=0:

var mark1=0:

var backgroundpositiony=0:

/*

开始函数

*/

函数开始()

maindiv。风格。背景位置=背景位置' px ';

背景位置=0.5:

if(背景位置==568)>

backgroundpositiony=0:

}

马克;马克;

/*

创建敌方飞机

*/

if(mark==20)>

马克1;

//中飞机

如果(标记1%5==0)>

敌人。推送(新敌人6.25、274、46、60、5000、360、随机(1.3),'图像/中飞机爆炸. gif ,'图像/敌人3 _ fly _ 1。png ';

}

//大飞机

if(mark1==20)>

敌人。推送(新敌人12.57、210、110、164、30000、540.1,'图片/大飞机爆炸. gif ,'图像/敌人2 _ fly _ 1。png ';

标记1=0;

}

//小飞机

其他

敌人。推送(新敌人1,19,286,34,24,1000,360,random(1,4),' image/小飞机爆炸. gif,‘图像/敌人1 _ fly _ 1。png ';

}

标记=0

}

/*

移动敌方飞机

*/

var enemyslen=enemys。长度

S7-1200可编程控制器:日元迈索尔;>

如果(敌人[我]。计划一下!=真)>

敌人〔我. plano ove();

}

/*

如果敌机超出边界,删除敌机

*/

如果(敌人[我]。图像节点。offsettop 568)>

maindiv。移除子(敌人[I]).图像节点(映像节点):

敌人。拼接(一、一);

enemy len-;

}

//当敌机死亡标记为真的吗时,经过一段时间后清除敌机

如果(敌人[我]。pladesse==true .]

敌人〔我〕。图纸空间=20;

如果(敌人[我]。钢琴弹敌人.计划项目]

maindiv。移除子(敌人[I]).图像节点(映像节点):

敌人。拼接(一、一);

enemy len-;

}

}

}

/*

创建子弹

*/

如果(标记%5==0)>

子弹。推(新奇数项目符号(selfplan。imagenode。风格。左)31、parse int(selfplan。imagenode。风格。top)-10);

}

/*

移动子弹

*/

var bulletslen=bullets.length:

S7-1200可编程控制器:布列塔尼人;>

球标[我].bolt move();

/*

如果子弹超出边界,删除子弹

*/

如果(球标【我】。球标。offsetTop0)>

mainDiv.removeChild(项目符号[我].(二)标记;

球标。开口销(一、一);

布勒茨伦:

}

}

/*

碰撞判断

*/

for(var k=0);kbulllen好的。]

for(var j=0);我不知道:j .]

//判断碰撞本方飞机

如果(敌人[j]的缩写.pladesse==false .]

if(敌人[j].图像节点。偏左的敌人.planizex=selfplan。imagenode。offsetleftenmys[j].imagenode。offsetleft=selfplan。imagenode。offsetleft自我计划。平面化x]

if(敌人[j].图像节点。场外的敌人.planizey=自我计划。图像节点。offsettop 40敌人[j]。图像节点。offsettop=selfplan。图像节点。offsettop-20自拍。扁平化。]

//碰撞本方飞机,游戏结束,统计分数

selfplan.imagenode.src='image/本方飞机爆炸. gif文件格式:

enddiv。风格。显示=' block

计划核心。内部html=分数:

如果(文档。removeeventlistener)}

maindiv。removeeventlistener(' mousemove,yidong,true);

身体。removeeventlistener(' mousemove,bianjie,true);

}

else if(文档。detchevrent)}

maindiv。detchevrent(' onomosemove ',义东);

身体。removeeventlistener(' mousemove,bianjie,true);

}

间隙(设置):

}

}

//判断子弹与敌机碰撞

如果(球标[k]。球标。偏左球标).波尔兹塞涅米什[j].图像节点。offsetleft)(球标[k]。闪电。offsetleftenmys[j].图像节点。偏左的敌人.平面标注)

如果(球标[k]。球标。offsettop=敌人[j]。图像节点。场外的敌人.平面泡沫塑料[k]。泡沫塑料。胶版顶部泡沫塑料[k]的缩写.boltszey=enemie[j]。图像节点。offsettop。]

//敌机血量减子弹攻击力

敌人[j]的缩写.HP=敌人[j]的缩写.惠普球标[k]的缩写.布莱塔什;

//敌机血量为0个,敌机图片换为爆炸图片,死亡标记为是真的,计分

如果(敌人[j]的缩写.平面HP==0)}

分数=敌人分数[j]的缩写.平面核心;

分数标签。innerhtml=分数:

敌人。imagenode。敌人,敌人.平面繁荣形象;

敌人[j]的缩写.planisdie=true

}

//删除子弹

mainDiv.removeChild(球标).(二)标记;

球标。开口销(k,1);

布勒茨伦:

打断;打断;

}

}

}

}

}

}

/*

开始游戏按钮点击事件

*/

可变集;

函数开始()

startdiv。风格。display='无

maindiv。风格。显示=' block

自我计划。图像节点。风格。display=' block

得分部门。风格。display=' block

/*

调用开始函数

*/

set=setInterval(开始,20);

}

//游戏结束后点击继续按钮事件

函数许继()

位置。重新加载(true);

}

/*

完成界面的初始化

敌方小飞机一个

我方飞机一个

*/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: