这篇文章主要为大家详细介绍了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。