600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > html+javascript实现的网页版飞机大战小游戏源码

html+javascript实现的网页版飞机大战小游戏源码

时间:2023-07-29 09:30:00

相关推荐

html+javascript实现的网页版飞机大战小游戏源码

html+javascript实现的网页版飞机大战小游戏源码

完整代码下载地址:

html+javascript实现的网页版飞机大战小游戏源码

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="author" content="BruceWan" /><meta name="generator" content="Softwan" /><meta name="copyright" content="China by BruceWan" /><meta name="keywords" content="游戏,小游戏,射击,射击类游戏,打飞机,打灰机,飞机大战,涂鸦,涂鸦小游戏,游戏平台"><meta name="description" content="游戏中心的游戏可以免费玩耍,如有问题请联系E-mail:1101587171@"><!--/*<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />//不允许缩放*/--><link rel="shortcut icon" href="image/icon32x32.png"><title>"打飞机"</title><style type="text/css">body{moz-user-select: -moz-none;-moz-user-select: none;-o-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0px;padding:0px;background-color:#9FA7AC;margin:auto;}.maindisplay{border-color:#666;border-width:6px;border-style:double;width:480px;height:800px;background-image:url(image/bg_01.jpg);background-repeat:repeat-y;margin:auto;}.title{float:left;margin-top:260px;height:200px;width:100%;color:#666;text-align:center;background-color:transparent;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";}.helpbox{display:none;float:left;margin-top:300px;height:200px;width:100%;color:#666;text-align:center;font-size:42px;background-color:transparent;cursor:default;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";}.playmethodbox{display:none;float:left;margin-top:300px;height:200px;width:100%;color:#666;text-align:center;font-size:28px;background-color:transparent;cursor:default;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";}.optionbox{display:none;float:left;margin-top:240px;height:200px;width:100%;color:#666;text-align:center;font-size:36px;background-color:transparent;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";}.endbox{display:none;float:left;margin-top:240px;height:200px;width:100%;color:#666;text-align:center;font-size:36px;background-color:transparent;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";}.score{cursor:default;}.returngm:hover{border-style:double;border-width:6px;cursor:pointer;}.restartgm:hover{border-style:double;border-width:6px;cursor:pointer;}.quitgm:hover{border-style:double;border-width:6px;cursor:pointer;}.logo{font-size:65px;font-weight:bold;cursor:default;}.msg{font-size:32px;font-weight:bold;}.msg:hover{border-style:double;border-width:6px;cursor:pointer;}.help{font-size:26px;font-weight:bold;}.help:hover{border-style:double;border-width:6px;cursor:pointer;}.playmethod{font-size:28px;font-weight:bold;}.playmethod:hover{border-style:double;border-width:6px;cursor:pointer;}.myplane{position:absolute;width:62px;height:74px;background-color:transparent;/*background-image:url(image/my_speed.gif);*/background-image:url(image/my.png);background-repeat:no-repeat;cursor:none;display:none;}.countdisplay{width:300px;height:60px;background-color:transparent;display:none;float:none;}.startgm{width:50px;height:50px;float:left;background-repeat:no-repeat;cursor:pointer;}.countscore_space{width:10px;height:40px;background-color:transparent;float:left;}.countscore{width:240px;height:30px;background-color:transparent;float:left;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";font-size:36px;text-align:left;padding-top:10px;cursor:default;}.displaybgsound{float:right;font-family:"方正喵喵体","微软雅黑", "黑体", "楷体";font-size:32px;text-align:left;padding-top:10px;cursor:pointer;display:none;background-color:transparent;}.bullet{height:20px;width:20px;background-color:transparent;background-image:url(image/bullet_red.png);background-repeat:no-repeat;cursor:default;position:absolute;display:none;}.fire1{width:10px;height:20px;background-repeat:no-repeat;margin-top:53px;margin-left:5px;float:left;}.fire2{width:10px;height:21px;background-repeat:no-repeat;margin-top:53px;margin-right:5px;float:right;}.hostileplane{width:40px;height:42px;position:absolute;background-color:transparent;top:0px;left:0px;background-repeat:no-repeat;background-image:url(image/king3.png);display:none;cursor:default;}.hostileplane2{width:69px;height:89px;position:absolute;background-color:transparent;top:0px;left:0px;background-repeat:no-repeat;background-image:url(image/king2.png);display:none;cursor:default;}.hostileplane3{width:108px;height:164px;position:absolute;background-color:transparent;top:0px;left:0px;background-repeat:no-repeat;background-image:url(image/king.png);display:none;cursor:default;}.prop_c{width:30px;height:46px;position:absolute;background-color:transparent;top:0px;left:0px;background-repeat:no-repeat;display:none;cursor:default;}.propbox{width:120px;height:30px;background-color:transparent;margin-top:704px;margin-left:10px;cursor:default;}.bigProp{float:left;margin-right:10px;background-image:url(image/fatal.png);background-color:transparent;width:30px;height:30px;display:none;cursor:pointer;}@font-face { font-family:方正喵喵体;src:url(font/fzmmt.ttf); }</style><script language="javascript" type="text/javascript">window.onload=IniObj;//初始化参数document.oncontextmenu=OffRightMenu;//屏蔽右键//低等敌机实例控制值var HostilePlaneIsSend=true;//是否允许低等发射敌机var HostilePlaneLife=2;//低等敌机生命var HostilePlaneMaxNO=1;//最多敌机数量var HostilePlaneSpeed=5;var HostilePlaneStep=3;//中等敌机实例控制var HostilePlane2IsSend=false;var HostilePlane2Life=3;var HostilePlane2MaxNO=1;var HostilePlane2Speed=5;var HostilePlane2Step=3;//高等敌机实例控制var HostilePlane3IsSend=false;var HostilePlane3Life=5;var HostilePlane3MaxNO=1;var HostilePlane3Speed=5;var HostilePlane3Step=3;//子弹实例控制var BulletSpeed=10;var BulletStep=5;var IsChangeBulletColorBlue=false;//道具实例控制var PropSpeed=5;var PropStep=5;var PropTimeOut=5;//道具持续时间var PropSendTime=10;var PropIsSend=false;var BigPropNowNum=3;//必杀次数//剧情控制var TimeLine=0;//时间线function PlotControl(){if(IsStart&&!IsEndGM){//排除暂停与结束SendTimeProp();//定期派发道具switch(TimeLine){case 0:PropStep=6;HostilePlaneMaxNO=1;HostilePlaneSpeed=5;BulletSpeed=10;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 5:BulletSpeed=8;HostilePlaneMaxNO=2;HostilePlaneSpeed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 10:BulletSpeed=7;HostilePlaneMaxNO=3;HostilePlaneSpeed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 15:BulletSpeed=5;HostilePlaneMaxNO=5;HostilePlaneSpeed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 20:HostilePlaneMaxNO=7;HostilePlaneSpeed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 25:HostilePlaneMaxNO=8;HostilePlaneSpeed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 30:HostilePlaneMaxNO=10;HostilePlaneSpeed=5;PropStep=5;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 60:HostilePlaneMaxNO=10;HostilePlane2MaxNO=1;HostilePlaneSpeed=5;HostilePlane2Speed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 90:HostilePlaneMaxNO=10;HostilePlaneSpeed=5;HostilePlane2MaxNO=2;HostilePlane2Speed=5;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 120:HostilePlaneMaxNO=10;HostilePlaneSpeed=5;HostilePlane2MaxNO=3;HostilePlane2Speed=5;PropStep=4;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 180:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=1;HostilePlaneSpeed=5;HostilePlane2Speed=5;HostilePlane3Speed=5;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 240:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=5;HostilePlane2Speed=5;HostilePlane3Speed=5;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 300:HostilePlaneMaxNO=10;HostilePlaneSpeed=3;BulletSpeed=3;PropStep=3;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;break;case 360:HostilePlaneMaxNO=10;HostilePlane2MaxNO=1;HostilePlaneSpeed=3;HostilePlane2Speed=3;BulletSpeed=3;PropStep=2;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 420:HostilePlaneMaxNO=10;HostilePlane2MaxNO=2;HostilePlaneSpeed=3;HostilePlane2Speed=3;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 480:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlaneSpeed=3;HostilePlane2Speed=3;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=false;break;case 540:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=1;HostilePlaneSpeed=3;HostilePlane2Speed=3;HostilePlane3Speed=3;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 600:PropTimeOut=30000;//道具持续时间PropSendTime=10;HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=3;HostilePlane2Speed=3;HostilePlane3Speed=3;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 660:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=2;HostilePlane2Speed=2;HostilePlane3Speed=2;BulletSpeed=3;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 720:HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=1;HostilePlane2Speed=1;HostilePlane3Speed=1;BulletSpeed=2;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 780:HostilePlaneLife=3;//低等敌机生命HostilePlane2Life=4;HostilePlane3Life=5;HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=1;HostilePlane2Speed=1;HostilePlane3Speed=1;BulletSpeed=2;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;case 840:PropTimeOut=60000;//道具持续时间PropSendTime=10;HostilePlaneLife=4;//低等敌机生命HostilePlane2Life=5;HostilePlane3Life=6;HostilePlaneMaxNO=10;HostilePlane2MaxNO=3;HostilePlane3MaxNO=2;HostilePlaneSpeed=1;HostilePlane2Speed=1;HostilePlane3Speed=1;BulletSpeed=2;HostilePlaneIsSend=true;HostilePlane2IsSend=true;HostilePlane3IsSend=true;break;}TimeLine+=1;}}//隐藏进度条function hideScroll(){document.body.style.overflow="hidden";}//定期派发道具function SendTimeProp(){if(TimeLine%PropSendTime==0){//每10秒派发一次随机道具PropIsSend=true;}else{PropIsSend=false;}}var btn_Start;var playmethodBox;var optionBox;var titlePage;var myPlane;var mainBG;var countDisplay;var mainBG;var myPlaneFire1;var sumScore;var bigProp1;var bigProp2;var bigProp3;var myPlaneFire2;var titlePage;var helpBox;var hostilePlane;var endBox;var prop;//背景音乐var bgSound1;var bgSound2;var bgSound3;var bgSound4;var OpenBGSound=true;var bgSoundO;var hostilePlane0;var hostilePlane1;var hostilePlane2;var hostilePlane3;var hostilePlane4;var hostilePlane5;var hostilePlane6;var hostilePlane7;var hostilePlane8;var hostilePlane9;var hostilePlane2_0;var hostilePlane2_1;var hostilePlane2_2;var hostilePlane3_0;var hostilePlane3_1;var bullet0;var bullet1;var bullet2;var bullet3;var bullet4;var bullet5;var bullet6;var bullet7;var bullet8;var bullet9;var bullet10;var bullet11;var bullet12;var bullet13;var bullet14;var bullet15;var bullet16;var bullet17;var bullet18;var bullet19;function IniObj(){bgSoundO=document.getElementById('bgSoundO');bgSound1=document.getElementById('bgSound1');bgSound2=document.getElementById('bgSound2');bgSound3=document.getElementById('bgSound3');bgSound4=document.getElementById('bgSound4');bigProp1=document.getElementById('bigProp1');bigProp2=document.getElementById('bigProp2');bigProp3=document.getElementById('bigProp3');prop=document.getElementById('prop');endBox=document.getElementById('endBox');sumScore=document.getElementById('sumScore');hostilePlane=document.getElementById('lable_Countscore');bullet0=document.getElementById('bullet0');bullet1=document.getElementById('bullet1');bullet2=document.getElementById('bullet2');bullet3=document.getElementById('bullet3');bullet4=document.getElementById('bullet4');bullet5=document.getElementById('bullet5');bullet6=document.getElementById('bullet6');bullet7=document.getElementById('bullet7');bullet8=document.getElementById('bullet8');bullet9=document.getElementById('bullet9');bullet10=document.getElementById('bullet10');bullet11=document.getElementById('bullet11');bullet12=document.getElementById('bullet12');bullet13=document.getElementById('bullet13');bullet14=document.getElementById('bullet14');bullet15=document.getElementById('bullet15');bullet16=document.getElementById('bullet16');bullet17=document.getElementById('bullet17');bullet18=document.getElementById('bullet18');bullet19=document.getElementById('bullet19');hostilePlane0=document.getElementById('hostilePlane0');hostilePlane1=document.getElementById('hostilePlane1');hostilePlane2=document.getElementById('hostilePlane2');hostilePlane3=document.getElementById('hostilePlane3');hostilePlane4=document.getElementById('hostilePlane4');hostilePlane5=document.getElementById('hostilePlane5');hostilePlane6=document.getElementById('hostilePlane6');hostilePlane7=document.getElementById('hostilePlane7');hostilePlane8=document.getElementById('hostilePlane8');hostilePlane9=document.getElementById('hostilePlane9');hostilePlane2_0=document.getElementById('hostilePlane2_0');hostilePlane2_1=document.getElementById('hostilePlane2_1');hostilePlane2_2=document.getElementById('hostilePlane2_2');hostilePlane3_0=document.getElementById('hostilePlane3_0');hostilePlane3_1=document.getElementById('hostilePlane3_1');btn_Start=document.getElementById('btn_Start');playmethodBox=document.getElementById('playmethodBox');optionBox=document.getElementById('optionBox');titlePage=document.getElementById('titlePage');myPlane=document.getElementById('myPlane');mainBG=document.getElementById('mainBG');countDisplay=document.getElementById('countDisplay');mainBG=document.getElementById('mainBG');myPlaneFire1=document.getElementById('myPlaneFire1');myPlaneFire2=document.getElementById('myPlaneFire2');helpBox=document.getElementById('helpBox');hideScroll();}//屏蔽右键菜单function OffRightMenu(){event.returnValue=false;return false;}var IsStart=false;//是否开始var IsCanMenuOpt=false;var IsEndGM=false;var NowScore=0;//当前成绩//开始游戏function GoToGM(){IniGM();}//继续游戏function StartGM(){if(!IsEndGM){IsStart=true;btn_Start.src="image/pause.png";optionBox.style.display="none";}else{EndBoxIsOpen();}}//暂停游戏function PauseGM(){if(!IsEndGM){IsStart=false;btn_Start.src="image/start.png";optionBox.style.display="block";}else{EndBoxIsOpen();}}//处理游戏全局鼠标事件 有兼容处理function MainDisplyClick(ev){if(IsCanMenuOpt){var oEvent=ev||event;if(oEvent.button==1||oEvent.button==0){//谷歌、IE//单左键}else if(oEvent.button==2){//谷歌、IE右键if(!IsDownMosue){//不按住左键时if(IsStart){PauseGM();}else{StartGM();}}else{//谷歌if(IsStart){SendBigProp();}}}else if(oEvent.button==3){//IE兼容按下左右键if(IsStart){SendBigProp();}}}}//处理暂停按钮事件function DealStartBtnEvent(ev){var oEvent=ev||event;if(IsStart){PauseGM();}else{StartGM();}}//按下事件 有兼容处理var IsDownMosue=false;function MyPlaneMouseDwon(ev){var oEvent=ev||event;if(oEvent.button==1||oEvent.button==0){IsDownMosue=true;}else if(oEvent.button==2){}}//释放事件 有兼容处理function MyPlaneMouseUp(ev){var oEvent=ev||event;if(oEvent.button==1||oEvent.button==0){IsDownMosue=false;}if(oEvent.button==2){}}//初始化主体框架function IniGM(){//初始化全局参数IsStart=true;IsEndGM=false;IsOpenEndBox=falseNowScore=0;BGSpeed=2;TimeLine=0;BGLoc=0;MaxLoc=99999999;IsChangeBulletColorBlue=false;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;BulletSpeed=10;HostilePlaneLife=2;//低等敌机生命HostilePlane2Life=3;HostilePlane3Life=5;PropSpeed=5;PropStep=5;PropTimeOut=20000;//道具持续时间PropSendTime=10;PropIsSend=false;BigPropNowNum=3;DisplayBigProp();//关闭标题titlePage.style.display="none";//重置飞机位置myPlane.style.display="block";myPlane.style.left=(mainBG.getBoundingClientRect().left+mainBG.offsetWidth/2-myPlane.offsetWidth/2)+"px";myPlane.style.top=(mainBG.getBoundingClientRect().top+mainBG.offsetHeight-myPlane.offsetHeight)+"px";myPlane.style.backgroundImage="url(image/my.png)";//开启左上角的统计界面countDisplay.style.display="block";//切换按钮btn_Start.style.display="block";btn_Start.src="image/pause.png";//显示声音开关bgSoundO.style.display="block";//关闭界面optionBox.style.display="none";endBox.style.display="none";StartBGA();IsCanMenuOpt=true;}//重新开始游戏function RestartGM(){//重新显示积分ClearNowScore();CloseBGA();CloseGMImg();IniGM();}var BGSpeed=2;//背景移动速度var BGLoc=0;//背景的默认位置var MaxLoc=99999999;//背景的最大位置//背景动画function MoveBG(){if(IsStart&&!IsEndGM){if(BGLoc<MaxLoc){mainBG.style.backgroundImage="url(image/bg_02.jpg)";mainBG.style.backgroundPosition="0px "+BGLoc+"px";BGLoc=BGLoc+BGSpeed;}else{BGLoc=0;}}}//自己的飞机运动效果var MyPlaneBG=1;function MoveMyPlaneA(){if(IsStart&&!IsEndGM){if(MyPlaneBG==1){MyPlaneBG=2;myPlaneFire1.style.backgroundImage="url(image/bullet_king_4.png)";myPlaneFire2.style.backgroundImage="url(image/bullet_king_4.png)";}else if(MyPlaneBG==2){MyPlaneBG=3;myPlaneFire1.style.backgroundImage="url(image/bullet_king_3.png)";myPlaneFire2.style.backgroundImage="url(image/bullet_king_3.png)";}else if(MyPlaneBG==3){MyPlaneBG=4;myPlaneFire1.style.backgroundImage="url(image/bullet_king_2.png)";myPlaneFire2.style.backgroundImage="url(image/bullet_king_2.png)";}else if(MyPlaneBG==4){MyPlaneBG=1;myPlaneFire1.style.backgroundImage="url(image/bullet_king_1.png)";myPlaneFire2.style.backgroundImage="url(image/bullet_king_1.png)";}}}function FollowMouse(ev){if(IsStart&&IsDownMosue){var oEvent=ev||event;//计算我的战机位置var myPlane_of_x=myPlane.offsetWidth/2;//偏移中心x轴var myPlane_of_y=myPlane.offsetHeight/2;//偏移中心y轴var myPlane_x=(oEvent.clientX-myPlane_of_x);var myPlane_y=(oEvent.clientY-myPlane_of_y);//约束区域if(mainBG.getBoundingClientRect().left<=myPlane_x&&mainBG.getBoundingClientRect().left+mainBG.offsetWidth>=myPlane_x+myPlane.offsetWidth){myPlane.style.left=myPlane_x+"px";}if(mainBG.getBoundingClientRect().top<=myPlane_y&&mainBG.getBoundingClientRect().top+mainBG.offsetHeight>=myPlane_y+myPlane.offsetHeight){myPlane.style.top=myPlane_y+"px";}}}//内容修正方法function NewlyIniLoc(){//计算我的战机位置var myPlane_x=myPlane.getBoundingClientRect().left;var myPlane_y=myPlane.getBoundingClientRect().top;//修正界面if(mainBG.getBoundingClientRect().left>=myPlane_x){myPlane.style.left=(mainBG.getBoundingClientRect().left)+"px";}if(mainBG.getBoundingClientRect().left+mainBG.offsetWidth<=myPlane_x+myPlane.offsetWidth){myPlane.style.left=(mainBG.getBoundingClientRect().left+mainBG.offsetWidth-myPlane.offsetWidth)+"px";}if(mainBG.getBoundingClientRect().top>=myPlane_y){myPlane.style.top=(mainBG.getBoundingClientRect().top)+"px";}if(mainBG.getBoundingClientRect().top+mainBG.offsetHeight<=myPlane_y+myPlane.offsetHeight){myPlane.style.top=(mainBG.getBoundingClientRect().top+mainBG.offsetHeight-myPlane.offsetHeight)+"px";}}//显示帮助框var DisplayHelpBox=false;function OpenHelpBox(){if(DisplayHelpBox){DisplayHelpBox=false;titlePage.style.display="block";helpBox.style.display="none";}else{DisplayHelpBox=true;titlePage.style.display="none";helpBox.style.display="block";}}//显示玩法介绍框var DisplayPlayMethodBox=false;function OpenPlayMethodBox(){if(DisplayPlayMethodBox){DisplayPlayMethodBox=false;titlePage.style.display="block";playmethodBox.style.display="none";}else{DisplayPlayMethodBox=true;titlePage.style.display="none";playmethodBox.style.display="block";}}//退出游戏function QuitGM(){//关闭背景滚动CloseBGA();//初始化全局参数IsCanMenuOpt=false;IsStart=false;IsOpenEndBox=false;NowScore=0;BGSpeed=2;TimeLine=0;BGLoc=0;MaxLoc=99999999;BigPropNowNum=3;IsEndGM=true;IsChangeBulletColorBlue=false;HostilePlaneIsSend=true;HostilePlane2IsSend=false;HostilePlane3IsSend=false;BulletSpeed=10;HostilePlaneLife=2;//低等敌机生命HostilePlane2Life=3;HostilePlane3Life=5;PropSpeed=5;PropStep=5;PropTimeOut=20000;//道具持续时间PropSendTime=10;PropIsSend=false;//重新显示积分ClearNowScore();//关闭标题titlePage.style.display="block";//开启左上角的统计界面countDisplay.style.display="none";//切换按钮btn_Start.style.display="none";//主背景mainBG.style.backgroundImage="url(image/bg_01.jpg)";mainBG.style.backgroundPosition="0px 0px";//显示声音开关bgSoundO.style.display="none";//关闭界面optionBox.style.display="none";endBox.style.display="none";CloseGMImg();NotDisplayBigProp();}//去掉场景function CloseGMImg(){//去掉飞机myPlane.style.display="none";//去掉低等飞机hostilePlane0.style.display="none";hostilePlane1.style.display="none";hostilePlane2.style.display="none";hostilePlane3.style.display="none";hostilePlane4.style.display="none";hostilePlane5.style.display="none";hostilePlane6.style.display="none";hostilePlane7.style.display="none";hostilePlane8.style.display="none";hostilePlane9.style.display="none";//去掉中等飞机hostilePlane2_0.style.display="none";hostilePlane2_1.style.display="none";hostilePlane2_2.style.display="none";//去掉高等飞机hostilePlane3_0.style.display="none";hostilePlane3_1.style.display="none";//去掉子弹bullet0.style.display="none";bullet1.style.display="none";bullet2.style.display="none";bullet3.style.display="none";bullet4.style.display="none";bullet5.style.display="none";bullet6.style.display="none";bullet7.style.display="none";bullet8.style.display="none";bullet9.style.display="none";bullet10.style.display="none";bullet11.style.display="none";bullet12.style.display="none";bullet13.style.display="none";bullet14.style.display="none";bullet15.style.display="none";bullet16.style.display="none";bullet17.style.display="none";bullet18.style.display="none";bullet19.style.display="none";//隐藏道具prop.style.display="none";}var WhileDisplayBG;//存放定时器示例var WhileMyPlaneBG;var WhileSendBullet;var WhileSendHostilePlane;var WhileSendHostilePlane2;var WhileSendHostilePlane3;var WhileCheckBullet;var WhilePlotControl;var WhileSendProp;//开始动画function StartBGA(){WhileDisplayBG=setInterval("MoveBG()",10);WhileMyPlaneBG=setInterval("MoveMyPlaneA()",150);WhileSendBullet=setInterval("SendBullet()",200);//子弹的间隔WhileSendHostilePlane=setInterval("SendHostilePlane()",400);//敌机的间隔WhileSendHostilePlane2=setInterval("SendHostilePlane2()",400);//敌机的间隔WhileSendHostilePlane3=setInterval("SendHostilePlane3()",400);//敌机的间隔WhileCheckBullet=setInterval("CheckBullet()",50);WhilePlotControl=setInterval("PlotControl()",1000);WhileSendProp=setInterval("SendProp()",400);//敌机的间隔}//关闭背景动画function CloseBGA(){if(WhileDisplayBG!=null){window.clearInterval(WhileDisplayBG);}if(WhileMyPlaneBG!=null){window.clearInterval(WhileMyPlaneBG);}if(WhileSendBullet!=null){window.clearInterval(WhileSendBullet);}if(WhileSendHostilePlane!=null){window.clearInterval(WhileSendHostilePlane);}if(WhileSendHostilePlane2!=null){window.clearInterval(WhileSendHostilePlane2);}if(WhileSendHostilePlane3!=null){window.clearInterval(WhileSendHostilePlane3);}if(WhileCheckBullet!=null){window.clearInterval(WhileCheckBullet);}if(WhilePlotControl!=null){window.clearInterval(WhilePlotControl);}if(WhileSendProp!=null){window.clearInterval(WhileSendProp);}}//子弹连续发射var BulletNowNum=0;//当前子弹数量var BulletNO=0;var BulletImg1="url(image/bullet_red.png)";var BulletImg2="url(image/bullet_blue.png)";function SendBullet(){if(IsStart&&!IsEndGM){if(BulletNO>19){BulletNO=0;//保证连贯效果}if(BulletNO<20){if(IsChangeBulletColorBlue){if(BulletNowNum<19)//至少有2发{var bullet=document.getElementById('bullet'+BulletNO);//左弹夹var b2=BulletNO+1;if(b2>19){b2=0;}var bullet1=document.getElementById('bullet'+b2);//右弹夹bullet.style.display="block";if(bullet.style.backgroundImage!=BulletImg2){bullet.style.backgroundImage=BulletImg2;}bullet1.style.display="block";if(bullet1.style.backgroundImage!=BulletImg2){bullet1.style.backgroundImage=BulletImg2;}var bullet_of_y=(myPlane.getBoundingClientRect().top-bullet.offsetHeight+45);var bullet_of_x=(myPlane.getBoundingClientRect().left+myPlane.offsetWidth/2-bullet.offsetWidth/2-14);bullet.style.left=bullet_of_x+"px";//子弹的x坐标bullet.style.top=bullet_of_y+"px";//子弹的y坐标bullet_of_x=(myPlane.getBoundingClientRect().left+myPlane.offsetWidth/2-bullet1.offsetWidth/2+26);bullet1.style.left=bullet_of_x+"px";//子弹的x坐标bullet1.style.top=bullet_of_y+"px";//子弹的y坐标WhileABullet_Blue(mainBG,bullet,bullet1,bullet_of_y);BulletNowNum=BulletNowNum+2;BulletNO=b2+1;PlaySound1();}}else{if(BulletNowNum<20)//至少有2发{var bullet=document.getElementById('bullet'+BulletNO);bullet.style.display="block";if(bullet.style.backgroundImage!=BulletImg1){bullet.style.backgroundImage=BulletImg1;}var bullet_of_x=(myPlane.getBoundingClientRect().left+myPlane.offsetWidth/2-bullet.offsetWidth/2+5);bullet.style.left=bullet_of_x+"px";//子弹的x坐标var bullet_of_y=(myPlane.getBoundingClientRect().top-bullet.offsetHeight+45);bullet.style.top=bullet_of_y+"px";//子弹的y坐标BulletNowNum=BulletNowNum+1;WhileABullet_Red(mainBG,bullet,bullet_of_y);BulletNO=BulletNO+1;PlaySound1();}}}}}//子弹实例控制function WhileABullet_Red(mainBG,bullet,bullet_of_y){//动态修正var bullet_of_x=bullet.getBoundingClientRect().left;if(bullet_of_x<mainBG.getBoundingClientRect().left){bullet_of_x=mainBG.getBoundingClientRect().left;}else if(bullet_of_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){bullet_of_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-bullet.offsetWidth;}bullet.style.left=bullet_of_x+"px";//子弹的x坐标if(IsStart){bullet_of_y=bullet_of_y-BulletStep;bullet.style.top=bullet_of_y+"px";//子弹的y坐标}if(bullet_of_y>-20){setTimeout(function(){ WhileABullet_Red(mainBG,bullet,bullet_of_y);},BulletSpeed);}else{bullet.style.display="none";BulletNowNum=BulletNowNum-1;}}function WhileABullet_Blue(mainBG,bullet,bullet1,bullet_of_y){//动态修正var bullet_of_x=bullet.getBoundingClientRect().left;//弹1if(bullet_of_x<mainBG.getBoundingClientRect().left){bullet_of_x=mainBG.getBoundingClientRect().left;}else if(bullet_of_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){bullet_of_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-bullet.offsetWidth;}bullet.style.left=bullet_of_x+"px";//子弹的x坐标var bullet_of_x2=bullet1.getBoundingClientRect().left;//弹2if(bullet_of_x2<mainBG.getBoundingClientRect().left){bullet_of_x2=mainBG.getBoundingClientRect().left;}else if(bullet_of_x2>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){bullet_of_x2=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-bullet1.offsetWidth;}bullet1.style.left=bullet_of_x2+"px";//子弹的x坐标if(IsStart){bullet_of_y=bullet_of_y-BulletStep;bullet.style.top=bullet_of_y+"px";//子弹的y坐标bullet1.style.top=bullet_of_y+"px";//子弹的y坐标}if(bullet_of_y>-20){setTimeout(function(){ WhileABullet_Blue(mainBG,bullet,bullet1,bullet_of_y);},BulletSpeed);}else{bullet.style.display="none";bullet1.style.display="none";BulletNowNum=BulletNowNum-2;}}//低等敌机连续发射var HostilePlaneNowNum=0;//当前敌机数量var HostilePlaneNO=0;//当前敌机编号机function SendHostilePlane(){if(IsStart&&!IsEndGM){if(HostilePlaneNO>9){HostilePlaneNO=0;//保证连贯效果}if(HostilePlaneNO<10&&HostilePlaneIsSend&&HostilePlaneMaxNO>HostilePlaneNowNum){//var hostilePlane=document.getElementById('hostilePlane'+HostilePlaneNO);var hostilePlane;switch(HostilePlaneNO){case 0:hostilePlane=hostilePlane0;break;case 1:hostilePlane=hostilePlane1;break;case 2:hostilePlane=hostilePlane2;break;case 3:hostilePlane=hostilePlane3;break;case 4:hostilePlane=hostilePlane4;break;case 5:hostilePlane=hostilePlane5;break;case 6:hostilePlane=hostilePlane6;break;case 7:hostilePlane=hostilePlane7;break;case 8:hostilePlane=hostilePlane8;break;case 9:hostilePlane=hostilePlane9;break;}UpdateHostilePlaneLife('hostilePlane'+HostilePlaneNO,HostilePlaneLife);hostilePlane.style.display="block";hostilePlane.style.backgroundImage="url(image/king3.png)";var hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth*Math.random()-hostilePlane.offsetWidth;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标var hostilePlane_y=-27;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标HostilePlaneNowNum=HostilePlaneNowNum+1;WhileAHostilePlane(mainBG,hostilePlane,hostilePlane_y);HostilePlaneNO=HostilePlaneNO+1;}}}//低等敌机实例控制function WhileAHostilePlane(mainBG,hostilePlane,hostilePlane_y){//动态修正var hostilePlane_x=hostilePlane.getBoundingClientRect().left;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}else if(hostilePlane_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-hostilePlane.offsetWidth;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标if(IsStart){hostilePlane_y=hostilePlane_y+HostilePlaneStep;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标}if(hostilePlane_y<(mainBG.offsetHeight-hostilePlane.offsetHeight)){setTimeout(function(){ WhileAHostilePlane(mainBG,hostilePlane,hostilePlane_y);},HostilePlaneSpeed);}else{hostilePlane.style.display="none";HostilePlaneNowNum=HostilePlaneNowNum-1;}}//中等敌机连续发射var HostilePlane2NowNum=0;//当前敌机数量var HostilePlane2NO=0;//当前敌机编号机function SendHostilePlane2(){if(IsStart&&!IsEndGM){if(HostilePlane2NO>2){HostilePlane2NO=0;//保证连贯效果}if(HostilePlane2NO<3&&HostilePlane2IsSend&&HostilePlane2MaxNO>HostilePlane2NowNum){var hostilePlane;switch(HostilePlane2NO){case 0:hostilePlane=hostilePlane2_0;break;case 1:hostilePlane=hostilePlane2_1;break;case 2:hostilePlane=hostilePlane2_2;break;}UpdateHostilePlaneLife('hostilePlane2_'+HostilePlane2NO,HostilePlane2Life);hostilePlane.style.display="block";hostilePlane.style.backgroundImage="url(image/king2.png)";var hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth*Math.random()-hostilePlane.offsetWidth;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标var hostilePlane_y=-90;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标HostilePlane2NowNum=HostilePlane2NowNum+1;WhileAHostilePlane2(mainBG,hostilePlane,hostilePlane_y);HostilePlane2NO=HostilePlane2NO+1;}}}//中等敌机实例控制function WhileAHostilePlane2(mainBG,hostilePlane,hostilePlane_y){//动态修正var hostilePlane_x=hostilePlane.getBoundingClientRect().left;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}else if(hostilePlane_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-hostilePlane.offsetWidth;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标if(IsStart){hostilePlane_y=hostilePlane_y+HostilePlane2Step;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标}if(hostilePlane_y<(mainBG.offsetHeight-hostilePlane.offsetHeight)){setTimeout(function(){ WhileAHostilePlane2(mainBG,hostilePlane,hostilePlane_y);},HostilePlane2Speed);}else{hostilePlane.style.display="none";HostilePlane2NowNum=HostilePlane2NowNum-1;}}//高等敌机连续发射var HostilePlane3NowNum=0;//当前敌机数量var HostilePlane3NO=0;//当前敌机编号机function SendHostilePlane3(){if(IsStart&&!IsEndGM){if(HostilePlane3NO>1){HostilePlane3NO=0;//保证连贯效果}if(HostilePlane3NO<2&&HostilePlane3IsSend&&HostilePlane3MaxNO>HostilePlane3NowNum){var hostilePlane;switch(HostilePlane3NO){case 0:hostilePlane=hostilePlane3_0;break;case 1:hostilePlane=hostilePlane3_1;break;}UpdateHostilePlaneLife('hostilePlane3_'+HostilePlane3NO,HostilePlane3Life);hostilePlane.style.display="block";hostilePlane.style.backgroundImage="url(image/king.png)";var hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth*Math.random()-hostilePlane.offsetWidth;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标var hostilePlane_y=-164;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标HostilePlane3NowNum=HostilePlane3NowNum+1;WhileAHostilePlane3(mainBG,hostilePlane,hostilePlane_y);HostilePlane3NO=HostilePlane3NO+1;}}}//高等敌机实例控制function WhileAHostilePlane3(mainBG,hostilePlane,hostilePlane_y){//动态修正var hostilePlane_x=hostilePlane.getBoundingClientRect().left;if(hostilePlane_x<mainBG.getBoundingClientRect().left){hostilePlane_x=mainBG.getBoundingClientRect().left;}else if(hostilePlane_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){hostilePlane_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-hostilePlane.offsetWidth;}hostilePlane.style.left=hostilePlane_x+"px";//子弹的x坐标if(IsStart){hostilePlane_y=hostilePlane_y+HostilePlane3Step;hostilePlane.style.top=hostilePlane_y+"px";//子弹的y坐标}if(hostilePlane_y<(mainBG.offsetHeight-hostilePlane.offsetHeight)){setTimeout(function(){ WhileAHostilePlane3(mainBG,hostilePlane,hostilePlane_y);},HostilePlane3Speed);}else{hostilePlane.style.display="none";HostilePlane3NowNum=HostilePlane3NowNum-1;}}//道具派送var PropMaxNO=1;var PropNowNum=0;//当前敌机数量var PropImg1="url(image/prop_red.png)";var PropImg2="url(image/prop_blue.png)";var PropImg3="url(image/fatal.png)";function SendProp(){if(IsStart&&!IsEndGM){if(PropIsSend&&PropMaxNO>PropNowNum){var propCode=Math.random();prop.style.display="block";if(propCode<=0.3&&propCode>=0.0){prop.style.backgroundImage=PropImg1;}else if(propCode>0.3&&propCode<=0.7){prop.style.backgroundImage=PropImg2;}else{prop.style.backgroundImage=PropImg3;}var prop_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth*Math.random()-prop.offsetWidth;if(prop_x<mainBG.getBoundingClientRect().left){prop_x=mainBG.getBoundingClientRect().left;}prop.style.left=prop_x+"px";//子弹的x坐标var prop_y=-46;prop.style.top=prop_y+"px";//子弹的y坐标PropNowNum=PropNowNum+1;WhileAProp(mainBG,prop,prop_y);}}}//道具实例控制function WhileAProp(mainBG,prop,prop_y){//动态修正var prop_x=prop.getBoundingClientRect().left;if(prop_x<mainBG.getBoundingClientRect().left){prop_x=mainBG.getBoundingClientRect().left;}else if(prop_x>mainBG.getBoundingClientRect().left+mainBG.offsetWidth){prop_x=mainBG.getBoundingClientRect().left+mainBG.offsetWidth-prop.offsetWidth;}prop.style.left=prop_x+"px";//子弹的x坐标if(IsStart){prop_y=prop_y+PropStep;prop.style.top=prop_y+"px";//子弹的y坐标}if(prop_y<(mainBG.offsetHeight-prop.offsetHeight)){setTimeout(function(){ WhileAProp(mainBG,prop,prop_y);},PropSpeed);}else{prop.style.display="none";PropNowNum=PropNowNum-1;}}//道具与飞机间检测function CheckProp(){//取得飞机位于x轴 a,b 坐标//飞机左上角var myPlane_x_ax=myPlane.getBoundingClientRect().left;//飞机右上角var myPlane_x_bx=myPlane.getBoundingClientRect().top+myPlane.offsetWidth;//取得飞机位于y轴 A,B 坐标//飞机左下角var myPlane_y_ay=myPlane.getBoundingClientRect().top;//飞机右下角var myPlane_y_by=myPlane.getBoundingClientRect().top+myPlane.offsetHeight;if(prop==null){return;}//取得低等机的位于x轴 a,b 坐标//敌机左上角var prop_x_ax=prop.getBoundingClientRect().left;//敌机右上角var prop_x_bx=prop.getBoundingClientRect().left+prop.offsetWidth;//取得低等机的位于y轴 A,B 坐标//敌机左下角var prop_y_ay=prop.getBoundingClientRect().top;//敌机右下角var prop_y_by=prop.getBoundingClientRect().top+prop.offsetHeight;//判断是否相撞,近似距离校正if(//x轴区域prop_x_ax-myPlane.offsetWidth<=myPlane_x_ax&&prop_x_bx>=myPlane_x_ax&&//y轴区域prop_y_ay-myPlane.offsetHeight<=myPlane_y_by&&prop_y_by>=myPlane_y_ay){prop.style.display="none";Add_hostilePlane_D();if(prop.style.backgroundImage.indexOf('blue')>-1){TimeOutProp_Blue();PlaySound3();}else if(prop.style.backgroundImage.indexOf('red')>-1){TimeOutProp_Red();PlaySound3();}else if(prop.style.backgroundImage.indexOf('fatal')>-1){AddBigProp();PlaySound3();}}}//过期道具function TimeOutProp_Blue(){if(!IsChangeBulletColorBlue){IsChangeBulletColorBlue=true;setTimeout(function(){IsChangeBulletColorBlue=false;},PropTimeOut);}else{IsChangeBulletColorBlue=true;var old_BulletSpeed=BulletSpeed;BulletSpeed=2;//射速加成setTimeout(function(){BulletSpeed=old_BulletSpeed;},PropTimeOut);}}function TimeOutProp_Red(){if(IsChangeBulletColorBlue){IsChangeBulletColorBlue=false;}else{IsChangeBulletColorBlue=false;var old_BulletSpeed=BulletSpeed;BulletSpeed=2;//射速加成setTimeout(function(){BulletSpeed=old_BulletSpeed;},PropTimeOut);}}//子弹检测function CheckBullet(){CheckProp();//检测是否存在道具碰撞for(var i=0;i<20;i++){//var bullet=document.getElementById('bullet'+i);//当前子弹实例var bullet;switch(i){case 0:bullet=bullet0;break;case 1:bullet=bullet1;break;case 2:bullet=bullet2;break;case 3:bullet=bullet3;break;case 4:bullet=bullet4;break;case 5:bullet=bullet5;break;case 6:bullet=bullet6;break;case 7:bullet=bullet7;break;case 8:bullet=bullet8;break;case 9:bullet=bullet9;break;case 10:bullet=bullet10;break;case 11:bullet=bullet11;break;case 12:bullet=bullet12;break;case 13:bullet=bullet13;break;case 14:bullet=bullet14;break;case 15:bullet=bullet15;break;case 16:bullet=bullet16;break;case 17:bullet=bullet17;break;case 18:bullet=bullet18;break;case 19:bullet=bullet19;break;}if(bullet!=null&&bullet.style.display!="none"&&bullet.getBoundingClientRect().top>0){//取得子弹位于x轴 a,b 坐标//子弹左上角var bullet_x_ax=bullet.getBoundingClientRect().left;//子弹右上角var bullet_x_bx=bullet.getBoundingClientRect().top+bullet.offsetWidth;//取得子弹位于y轴 A,B 坐标//子弹左下角var bullet_y_ay=bullet.getBoundingClientRect().top;//子弹右下角var bullet_y_by=bullet.getBoundingClientRect().top+bullet.offsetHeight;for(var j=0;j<10;j++){//检测低等飞机//var hostilePlane=document.getElementById('hostilePlane'+j);var hostilePlane;switch(j){case 0:hostilePlane=hostilePlane0;break;case 1:hostilePlane=hostilePlane1;break;case 2:hostilePlane=hostilePlane2;break;case 3:hostilePlane=hostilePlane3;break;case 4:hostilePlane=hostilePlane4;break;case 5:hostilePlane=hostilePlane5;break;case 6:hostilePlane=hostilePlane6;break;case 7:hostilePlane=hostilePlane7;break;case 8:hostilePlane=hostilePlane8;break;case 9:hostilePlane=hostilePlane9;break;}if(hostilePlane!=null&&hostilePlane.style.display!="none"&&hostilePlane.getBoundingClientRect().top>0){CheckCollidePlane(hostilePlane);//检测敌机与自己//取得低等机的位于x轴 a,b 坐标//敌机左上角var hostilePlane_x_ax=hostilePlane.getBoundingClientRect().left;//敌机右上角var hostilePlane_x_bx=hostilePlane.getBoundingClientRect().left+hostilePlane.offsetWidth;//取得低等机的位于y轴 A,B 坐标//敌机左下角var hostilePlane_y_ay=hostilePlane.getBoundingClientRect().top;//敌机右下角var hostilePlane_y_by=hostilePlane.getBoundingClientRect().top+hostilePlane.offsetHeight;//判断是否相撞,近似距离校正var scope_x=0;var scope_y=55;if(//x轴区域hostilePlane_x_ax-bullet.offsetWidth-scope_x<=bullet_x_ax&&hostilePlane_x_bx+scope_x>=bullet_x_ax&&//y轴区域hostilePlane_y_ay-bullet.offsetHeight-scope_y<=bullet_y_by&&hostilePlane_y_by+scope_y>=bullet_y_ay){var life=GetHostilePlaneLife("hostilePlane"+j);if((life-1)==0)//当前敌机生命值为0{UpdateHostilePlaneLife('hostilePlane'+j,0);//hostilePlane.style.display="none";//待加入爆炸效果HostilePlaneBlast(hostilePlane,3);Add_hostilePlane_C();PlaySound2();}else if(life>0){UpdateHostilePlaneLife('hostilePlane'+j,life-1);}bullet.style.display="none";//待加入爆炸效果}}}for(var j=0;j<3;j++){//检测中等飞机//var hostilePlane=document.getElementById('hostilePlane'+j);var hostilePlane;switch(j){case 0:hostilePlane=hostilePlane2_0;break;case 1:hostilePlane=hostilePlane2_1;break;case 2:hostilePlane=hostilePlane2_2;break;}if(hostilePlane!=null&&hostilePlane.style.display!="none"&&hostilePlane.getBoundingClientRect().top>0){//取得中等机的位于x轴 a,b 坐标//敌机左上角var hostilePlane_x_ax=hostilePlane.getBoundingClientRect().left;//敌机右上角var hostilePlane_x_bx=hostilePlane.getBoundingClientRect().left+hostilePlane.offsetWidth;//取得中等机的位于y轴 A,B 坐标//敌机左下角var hostilePlane_y_ay=hostilePlane.getBoundingClientRect().top;//敌机右下角var hostilePlane_y_by=hostilePlane.getBoundingClientRect().top+hostilePlane.offsetHeight;//判断是否相撞,近似距离校正var scope_x=0;var scope_y=55;if(//x轴区域hostilePlane_x_ax-bullet.offsetWidth-scope_x<=bullet_x_ax&&hostilePlane_x_bx+scope_x>=bullet_x_ax&&//y轴区域hostilePlane_y_ay-bullet.offsetHeight-scope_y<=bullet_y_by&&hostilePlane_y_by+scope_y>=bullet_y_ay){var life=GetHostilePlaneLife("hostilePlane2_"+j);if((life-1)==0)//当前敌机生命值为0{UpdateHostilePlaneLife('hostilePlane2_'+j,0);//hostilePlane.style.display="none";//待加入爆炸效果HostilePlaneBlast(hostilePlane,3);Add_hostilePlane_B();PlaySound2();}else if(life>0){UpdateHostilePlaneLife('hostilePlane2_'+j,life-1);}bullet.style.display="none";//待加入爆炸效果}}}for(var j=0;j<2;j++){//检测高等飞机//var hostilePlane=document.getElementById('hostilePlane'+j);var hostilePlane;switch(j){case 0:hostilePlane=hostilePlane3_0;break;case 1:hostilePlane=hostilePlane3_1;break;}if(hostilePlane!=null&&hostilePlane.style.display!="none"&&hostilePlane.getBoundingClientRect().top>0){//取得高等机的位于x轴 a,b 坐标//敌机左上角var hostilePlane_x_ax=hostilePlane.getBoundingClientRect().left;//敌机右上角var hostilePlane_x_bx=hostilePlane.getBoundingClientRect().left+hostilePlane.offsetWidth;//取得高等机的位于y轴 A,B 坐标//敌机左下角var hostilePlane_y_ay=hostilePlane.getBoundingClientRect().top;//敌机右下角var hostilePlane_y_by=hostilePlane.getBoundingClientRect().top+hostilePlane.offsetHeight;//判断是否相撞,近似距离校正var scope_x=0;var scope_y=55;if(//x轴区域hostilePlane_x_ax-bullet.offsetWidth-scope_x<=bullet_x_ax&&hostilePlane_x_bx+scope_x>=bullet_x_ax&&//y轴区域hostilePlane_y_ay-bullet.offsetHeight-scope_y<=bullet_y_by&&hostilePlane_y_by+scope_y>=bullet_y_ay){var life=GetHostilePlaneLife("hostilePlane3_"+j);if((life-1)==0)//当前敌机生命值为0{UpdateHostilePlaneLife('hostilePlane3_'+j,0);//hostilePlane.style.display="none";//待加入爆炸效果HostilePlaneBlast(hostilePlane,3);Add_hostilePlane_A();PlaySound2();}else if(life>0){UpdateHostilePlaneLife('hostilePlane3_'+j,life-1);}bullet.style.display="none";//待加入爆炸效果}}}}}}//飞机爆炸var BlastSpeed=100;var BlastImg1="url(image/blast1.png)";var BlastImg2="url(image/blast2.png)";var BlastImg3="url(image/blast3.png)";function HostilePlaneBlast(bullet,blastNum){switch(blastNum){case 1:bullet.style.backgroundImage=BlastImg1;break;case 2:bullet.style.backgroundImage=BlastImg2;break;case 3:bullet.style.backgroundImage=BlastImg3;break;}blastNum=blastNum-1;if(blastNum>0){setTimeout(function(){ HostilePlaneBlast(bullet,blastNum);},BlastSpeed);}else{bullet.style.display="none";//待加入爆炸效果}}//飞机间检测function CheckCollidePlane(hostilePlane){//取得飞机位于x轴 a,b 坐标//飞机左上角var myPlane_x_ax=myPlane.getBoundingClientRect().left;//飞机右上角var myPlane_x_bx=myPlane.getBoundingClientRect().top+myPlane.offsetWidth;//取得飞机位于y轴 A,B 坐标//飞机左下角var myPlane_y_ay=myPlane.getBoundingClientRect().top;//飞机右下角var myPlane_y_by=myPlane.getBoundingClientRect().top+myPlane.offsetHeight;if(hostilePlane==null){return;}//取得低等机的位于x轴 a,b 坐标//敌机左上角var hostilePlane_x_ax=hostilePlane.getBoundingClientRect().left;//敌机右上角var hostilePlane_x_bx=hostilePlane.getBoundingClientRect().left+hostilePlane.offsetWidth;//取得低等机的位于y轴 A,B 坐标//敌机左下角var hostilePlane_y_ay=hostilePlane.getBoundingClientRect().top;//敌机右下角var hostilePlane_y_by=hostilePlane.getBoundingClientRect().top+hostilePlane.offsetHeight;//判断是否相撞,近似距离校正if(//x轴区域hostilePlane_x_ax-myPlane.offsetWidth<=myPlane_x_ax&&hostilePlane_x_bx>=myPlane_x_ax&&//y轴区域hostilePlane_y_ay-myPlane.offsetHeight<=myPlane_y_by&&hostilePlane_y_by>=myPlane_y_ay){EndGM();PlaySound4();//myPlane.style.display="none";//待加入爆炸效果}}//积分处理function ClearNowScore(){hostilePlane.innerHTML="得分:0";}//低级敌机function Add_hostilePlane_C(){NowScore=NowScore+1000;hostilePlane.innerHTML="得分:"+NowScore;}//中级敌机function Add_hostilePlane_B(){NowScore=NowScore+6000;hostilePlane.innerHTML="得分:"+NowScore;}//高级敌机function Add_hostilePlane_A(){NowScore=NowScore+10000;hostilePlane.innerHTML="得分:"+NowScore;}//道具function Add_hostilePlane_D(){NowScore=NowScore+15000;hostilePlane.innerHTML="得分:"+NowScore;}//敌机生命值var HostilePlane0_Life=2;var HostilePlane1_Life=2;var HostilePlane2_Life=2;var HostilePlane3_Life=2;var HostilePlane4_Life=2;var HostilePlane5_Life=2;var HostilePlane6_Life=2;var HostilePlane7_Life=2;var HostilePlane8_Life=2;var HostilePlane9_Life=2;var HostilePlane2_0_Life=5;var HostilePlane2_1_Life=5;var HostilePlane2_2_Life=5;var HostilePlane3_0_Life=8;var HostilePlane3_1_Life=8;//更新生命值function UpdateHostilePlaneLife(name,value){switch(name){case"hostilePlane0":HostilePlane0_Life=value;break;case"hostilePlane1":HostilePlane1_Life=value;break;case"hostilePlane2":HostilePlane2_Life=value;break;case"hostilePlane3":HostilePlane3_Life=value;break;case"hostilePlane4":HostilePlane4_Life=value;break;case"hostilePlane5":HostilePlane5_Life=value;break;case"hostilePlane6":HostilePlane6_Life=value;break;case"hostilePlane7":HostilePlane7_Life=value;break;case"hostilePlane8":HostilePlane8_Life=value;break;case"hostilePlane9":HostilePlane9_Life=value;break;case"hostilePlane2_0":HostilePlane2_0_Life=value;break;case"hostilePlane2_1":HostilePlane2_2_Life=value;break;case"hostilePlane2_2":HostilePlane2_2_Life=value;break;case"hostilePlane3_0":HostilePlane3_0_Life=value;break;case"hostilePlane3_1":HostilePlane3_1_Life=value;break;}}//获取生命值function GetHostilePlaneLife(name){switch(name){case"hostilePlane0":return HostilePlane0_Life;break;case"hostilePlane1":return HostilePlane1_Life;break;case"hostilePlane2":return HostilePlane2_Life;break;case"hostilePlane3":return HostilePlane3_Life;break;case"hostilePlane4":return HostilePlane4_Life;break;case"hostilePlane5":return HostilePlane5_Life;break;case"hostilePlane6":return HostilePlane6_Life;break;case"hostilePlane7":return HostilePlane7_Life;break;case"hostilePlane8":return HostilePlane8_Life;break;case"hostilePlane9":return HostilePlane9_Life;break;case"hostilePlane2_0":return HostilePlane2_0_Life;break;case"hostilePlane2_1":return HostilePlane2_1_Life;break;case"hostilePlane2_2":return HostilePlane2_2_Life;break;case"hostilePlane3_0":return HostilePlane3_0_Life;break;case"hostilePlane3_1":return HostilePlane3_1_Life;break;}}//游戏结束对话框var IsOpenEndBox=false;function OpenEndBox(){if(IsOpenEndBox){IsOpenEndBox=false;endBox.style.display="none";}else{IsOpenEndBox=true;endBox.style.display="block";}}//强制打开结束对话框function EndBoxIsOpen(){if(!IsOpenEndBox){OpenEndBox();}}//处理游戏结束function EndGM(){sumScore.innerHTML="总分:"+NowScore;OpenEndBox();IsStart=false;IsEndGM=true;CloseBGA();HostilePlaneBlast(myPlane,3);EndBoxIsOpen();//防止未打开结束}//添加必杀function AddBigProp(){if(BigPropNowNum<3){BigPropNowNum=BigPropNowNum+1;DisplayBigProp();}}//去掉一个必杀技function RemoveBigProp(){if(BigPropNowNum>0){BigPropNowNum=BigPropNowNum-1;DisplayBigProp();}}//显示必杀function DisplayBigProp(){if(BigPropNowNum==1){bigProp1.style.display="block";bigProp2.style.display="none";bigProp3.style.display="none";}else if(BigPropNowNum==2){bigProp1.style.display="block";bigProp2.style.display="block";bigProp3.style.display="none";}else if(BigPropNowNum==3){bigProp1.style.display="block";bigProp2.style.display="block";bigProp3.style.display="block";}else{NotDisplayBigProp();}}//移除显示function NotDisplayBigProp(){bigProp1.style.display="none";bigProp2.style.display="none";bigProp3.style.display="none";}//必杀技function SendBigProp(){if(BigPropNowNum>0&&IsStart){RemoveBigProp();if(hostilePlane0.style.display!="none"){HostilePlaneBlast(hostilePlane0,3);Add_hostilePlane_C();}if(hostilePlane1.style.display!="none"){HostilePlaneBlast(hostilePlane1,3);Add_hostilePlane_C();}if(hostilePlane2.style.display!="none"){HostilePlaneBlast(hostilePlane2,3);Add_hostilePlane_C();}if(hostilePlane3.style.display!="none"){HostilePlaneBlast(hostilePlane3,3);Add_hostilePlane_C();}if(hostilePlane4.style.display!="none"){HostilePlaneBlast(hostilePlane4,3);Add_hostilePlane_C();}if(hostilePlane5.style.display!="none"){HostilePlaneBlast(hostilePlane5,3);Add_hostilePlane_C();}if(hostilePlane6.style.display!="none"){HostilePlaneBlast(hostilePlane6,3);Add_hostilePlane_C();}if(hostilePlane7.style.display!="none"){HostilePlaneBlast(hostilePlane7,3);Add_hostilePlane_C();}if(hostilePlane8.style.display!="none"){HostilePlaneBlast(hostilePlane8,3);Add_hostilePlane_C();}if(hostilePlane9.style.display!="none"){HostilePlaneBlast(hostilePlane9,3);Add_hostilePlane_C();}if(hostilePlane2_0.style.display!="none"){HostilePlaneBlast(hostilePlane2_0,3);Add_hostilePlane_B();}if(hostilePlane2_1.style.display!="none"){HostilePlaneBlast(hostilePlane2_1,3);Add_hostilePlane_B();}if(hostilePlane2_2.style.display!="none"){HostilePlaneBlast(hostilePlane2_2,3);Add_hostilePlane_B();}if(hostilePlane3_0.style.display!="none"){HostilePlaneBlast(hostilePlane3_0,3);Add_hostilePlane_A();}if(hostilePlane3_1.style.display!="none"){HostilePlaneBlast(hostilePlane3_1,3);Add_hostilePlane_A();}PlaySound2();}}//射击音效function PlaySound1(){if(OpenBGSound){bgSound1.play();}}//爆炸音效function PlaySound2(){if(OpenBGSound){bgSound2.play();}}//道具音效function PlaySound3(){if(OpenBGSound){bgSound3.play();}}//结束音效function PlaySound4(){if(OpenBGSound){bgSound4.play();}}//开关声音function OnOrOffBGSound(){if(OpenBGSound){OpenBGSound=false;bgSoundO.innerHTML="声音:关";}else{OpenBGSound=true;bgSoundO.innerHTML="声音:开";}}</script></head><body onresize="NewlyIniLoc()" onmouseup="MyPlaneMouseUp()"><div class="maindisplay" id="mainBG" onmousemove="FollowMouse()" onmousedown="MainDisplyClick()"><div class="displaybgsound" onclick="OnOrOffBGSound()" id="bgSoundO">声音:开</div><div class="countdisplay" id="countDisplay"><img src="image/start.png" class="startgm" id="btn_Start" onclick="DealStartBtnEvent()"/><div class="countscore_space"></div><div class="countscore" id="lable_Countscore">得分:0</div></div><div class="title" id="titlePage"><a class="logo">“打飞机”</a><br/><br/><br/><a class="msg" onclick="GoToGM()">开始游戏</a><br/><br/><br/><a class="playmethod" onclick="OpenPlayMethodBox()">玩法介绍</a><br/><br/><br/><a class="help" onclick="OpenHelpBox()">帮助</a></div><div class="helpbox" id="helpBox"><a>开发者:万国睿</a><br /><a>QQ:975738768</a><br /><a>版本号:1.0.0.1</a><br /><br /><a class="help" onclick="OpenHelpBox()">返回</a></div><div class="playmethodbox" id="playmethodBox"><a>1.按住飞机进行移动</a><br /><br /><a>2.按住飞机时右键施展必杀技</a><br /><br /><a>3.只点击右键暂停游戏</a><br /><br /><a class="help" onclick="OpenPlayMethodBox()">返回</a></div><div class="optionbox" id="optionBox"><a class="returngm" onclick="StartGM()">返回游戏</a><br/><br/><a class="restartgm" onclick="RestartGM()">重新开始</a><br/><br /><a class="quitgm" onclick="QuitGM()">退出游戏</a></div><div class="endbox" id="endBox"><a class="score" id="sumScore">总分:0</a><br/><br/><a class="restartgm" onclick="RestartGM()">重新开始</a><br/><br /><a class="quitgm" onclick="QuitGM()">退出游戏</a></div><div class="propbox"><div class="bigProp" id="bigProp1" onclick="SendBigProp()"></div><div class="bigProp" id="bigProp2" onclick="SendBigProp()"></div><div class="bigProp" id="bigProp3" onclick="SendBigProp()"></div></div><div class="myplane" id="myPlane" onmouseup="MyPlaneMouseUp()" onmousedown="MyPlaneMouseDwon()"><div class="fire1" id="myPlaneFire1"></div><div class="fire2" id="myPlaneFire2"></div></div><!--子弹--><div class="bullet" id="bullet0"></div><div class="bullet" id="bullet1"></div><div class="bullet" id="bullet2"></div><div class="bullet" id="bullet3"></div><div class="bullet" id="bullet4"></div><div class="bullet" id="bullet5"></div><div class="bullet" id="bullet6"></div><div class="bullet" id="bullet7"></div><div class="bullet" id="bullet8"></div><div class="bullet" id="bullet9"></div><div class="bullet" id="bullet10"></div><div class="bullet" id="bullet11"></div><div class="bullet" id="bullet12"></div><div class="bullet" id="bullet13"></div><div class="bullet" id="bullet14"></div><div class="bullet" id="bullet15"></div><div class="bullet" id="bullet16"></div><div class="bullet" id="bullet17"></div><div class="bullet" id="bullet18"></div><div class="bullet" id="bullet19"></div><!--飞机--><!--低等敌机--><div class="hostileplane" id="hostilePlane0"></div><div class="hostileplane" id="hostilePlane1"></div><div class="hostileplane" id="hostilePlane2"></div><div class="hostileplane" id="hostilePlane3"></div><div class="hostileplane" id="hostilePlane4"></div><div class="hostileplane" id="hostilePlane5"></div><div class="hostileplane" id="hostilePlane6"></div><div class="hostileplane" id="hostilePlane7"></div><div class="hostileplane" id="hostilePlane8"></div><div class="hostileplane" id="hostilePlane9"></div><!--中等敌机--><div class="hostileplane2" id="hostilePlane2_0"></div><div class="hostileplane2" id="hostilePlane2_1"></div><div class="hostileplane2" id="hostilePlane2_2"></div><!--高等敌机--><div class="hostileplane3" id="hostilePlane3_0"></div><div class="hostileplane3" id="hostilePlane3_1"></div><!--道具--><div class="prop_c" id="prop"></div></div><!--autostart="true" loop="true"--><embed src="sound/bullet.mp3" autostart="false" loop="false" width="0" height="0" id="bgSound1"></embed><embed src="sound/enemy1_down.mp3" autostart="false" loop="false" width="0" height="0" id="bgSound2"></embed><embed src="sound/button.mp3" autostart="false" loop="false" width="0" height="0" id="bgSound3"></embed><embed src="sound/game_over.mp3" autostart="false" loop="false" width="0" height="0" id="bgSound4"></embed></body></html>

完整代码下载地址:

html+javascript实现的网页版飞机大战小游戏源码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。