日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

原生JS實現飛機大戰小游戲

瀏覽:169日期:2024-03-23 11:43:24

本文實例為大家分享了JS實現飛機大戰小游戲的具體代碼,供大家參考,具體內容如下

<html> <head> <title> 飛機大戰 </title> <style type='text/css'> *{margin:0;padding:0;font-family:'Microsoft yahei'} body{overflow:hidden;;} </style> </head> <body> <script> window.onload = function(){ Game.exe(); }; var Game = { //啟動程序 exe :function(){ document.body.style.background = ’#fff’; var oDiv = document.createElement(’div’); oDiv.id = ’GameBox’; oDiv.style.cssText = ’width:600px;height:500px;border:10px solid #999;margin:50px auto;font-family:'Microsoft yahei';text-align:center;position:relative;overflow:hidden;background:#fff’; document.body.appendChild(oDiv); this.init(); }, score : 0 , ifEnd : false, //初始化 init: function(){ var This = this; var oDiv = document.getElementById(’GameBox’); oDiv.innerHTML = ’’; Game.score = 0; Game.ifEnd = false; var oH = document.createElement(’h1’); oH.innerHTML = ’飛機大戰 v1.0’; oH.style.cssText = ’color:#555555;font-size:30px;padding-top:50px;’; oDiv.appendChild( oH ); for (var i=0;i<4 ;i++ ) { var oP = document.createElement(’p’); oP.index = i; oP.style.cssText = ’font-size:18px;color:white;width:180px;height:50px;margin:40px auto;text-align:center;background:#999;line-height:40px;font-family:'Microsoft yahei';font-weight:bold;cursor:pointer;’ var html = ’’; oP.onmouseenter = function(){ this.style.background = ’#ff9933’; this.style.color = ’##ff6600’ }; oP.onmouseleave = function(){ this.style.background = ’#999’; this.style.color = ’white’ }; oP.onclick = function( e ){ e = e || window.event; This.start( this.index , oDiv , e ); }; switch( i ){ case 0: html = ’簡單難度’; break; case 1: html = ’中等難度’; break; case 2: html = ’困難難度’; break; case 3: html = ’小天才附體’; break; } oP.innerHTML = html; oDiv.appendChild(oP); }; }, //游戲開始 start : function( index , oGameBox , e ){ oGameBox.innerHTML = ’’; var oS = document.createElement(’span’); oS.innerHTML = this.score; oS.style.cssText = ’position:absolute;left:20px;top:20px;font-size:14px;color:black;’; oGameBox.appendChild( oS ); this.plane( oGameBox , e ,index ); this.enemy( oGameBox ,oS ,index ); }, //關于飛機 plane : function( oGameBox , e ,index ){ var x = e.pageX; y = e.pageY; var oPlane = new Image(); oPlane.src = ’images/plane.png’; oPlane.width = 60; oPlane.height = 36; oPlane.id = ’plane’; var tY = oGameBox.offsetTop+parseInt(oGameBox.style.borderWidth)+oPlane.height/2; var lX = oGameBox.offsetLeft+parseInt(oGameBox.style.borderWidth)+oPlane.width/2; window.onresize = function(){ lX = oGameBox.offsetLeft+parseInt(oGameBox.style.borderWidth)+oPlane.width/2; }; var top = y- tY; var left = x- lX; oPlane.style.cssText = ’display:block;position:absolute;top:’+top+’px;left:’+left+’px;’; oGameBox.appendChild( oPlane ); var leftMin = - oPlane.width/2; var leftMax = oGameBox.clientWidth - oPlane.width/2; var topMin = 0; var topMax = oGameBox.clientHeight - oPlane.height; document.onmousemove = function(e){ if( !Game.ifEnd ) { e = e || window.event; var top = e.pageY -tY; var left = e.pageX -lX; top = Math.min( top , topMax );//取參數里最小的if( top > topMax )top = topMax; top = Math.max( top ,topMin );//取參數里最大的 left = Math.min( left , leftMax );//取參數里最小的if( top > topMax )top = topMax; left = Math.max( left ,leftMin ); oPlane.style.left = left + ’px’; oPlane.style.top = top + ’px’; } }; this.biu( oPlane , oGameBox ,index ); }, biu : function( oPlane , oGameBox ,index ){ var speed ; switch ( index ) { case 0: speed = 30; break; case 1: speed = 40; break; case 2: speed = 50; break; case 3: speed = 10; break; } this.BiuTimer = setInterval(function(){ var oBiu = new Image(); oBiu.src = ’images/bullet.png’; oBiu.width = 6; oBiu.height = 22; oBiu.className = ’bullet’; var top = oPlane.offsetTop - oBiu.height +3 ; var left = oPlane.offsetLeft + oPlane.width/2 -oBiu.width/2; oBiu.style.cssText = ’position:absolute;top:’+top+’px;left:’+left+’px;’; oGameBox.appendChild( oBiu ); oBiu.timer = setInterval( function(){ if( !oBiu.parentNode){ clearInterval( oBiu.timer ); } oBiu.style.top = oBiu.offsetTop - 10 + ’px’; if( oBiu.offsetTop < -oBiu.height ){ clearInterval( oBiu.timer ); oBiu.parentNode.removeChild( oBiu ); } }, 13 ); } ,speed ); }, enemy : function( oGameBox ,oS , index ){ var a , x; switch ( index ) { case 0: a = 1; x = 500; break; case 1: a = 2; x = 300; break; case 2: a = 3; x = 200; break; case 3: a = 5; x = 100; break; } this.EnemyTimer = setInterval( function(){ var oEnemy = new Image(); oEnemy.src = ’images/enemy.png’; oEnemy.width = 23; oEnemy.height = 30; var lMin = 0; var lMax = oGameBox.clientWidth - oEnemy.width; var left = Math.random()*(lMax-lMin) + lMin; oEnemy.style.cssText = ’position:absolute;top: -’+(-oEnemy.height)+’px; left:’+left+’px;’; oGameBox.appendChild( oEnemy ); var b = Math.random() * a + 1 ; oEnemy.timer = setInterval(function(){ oEnemy.style.top = oEnemy.offsetTop + b + ’px’;//敵軍的下落速度 if( oEnemy.offsetTop >= oGameBox.clientHeight ){ clearInterval( oEnemy.timer ); oEnemy.parentNode.removeChild( oEnemy ); } },13); //和子彈的碰撞監測 var allBiu = Game.getClass(’bullet’); oEnemy.pzBiu = setInterval(function(){ for(var i = 0;i < allBiu.length;i++) { if( Game.boom( oEnemy ,allBiu[i])) { Game.score ++; oS.innerHTML = Game.score; oEnemy.src = ’images/boom.png’; clearInterval( oEnemy.pzBiu ); clearInterval( oEnemy.pzPlane ); allBiu[i].parentNode.removeChild( allBiu[i] ); setTimeout(function(){if( oEnemy.parentNode ){ oEnemy.parentNode.removeChild( oEnemy );}; },300); break; } } },50); //和戰機的碰撞監測 var oPlane = document.getElementById(’plane’); oEnemy.pzPlane = setInterval(function(){ if( Game.ifEnd ){ clearInterval( oEnemy.pzPlane); } if( Game.boom( oEnemy , oPlane)) { Game.ifEnd = true; clearInterval( oEnemy.pzPlane); clearInterval( Game.BiuTimer); clearInterval( Game.EnemyTimer); oEnemy.src = ’images/boom.png’; oPlane.src = ’images/boom2.png’; setTimeout(function(){ Game.over( oGameBox ); },300); } },50); } , x );//敵軍生成速度 }, //碰撞監測 boom : function( obj1 , obj2 ){ var T1 = obj1.offsetTop; var B1 = T1 + obj1.clientHeight; var L1 = obj1.offsetLeft; var R1 = L1 + obj1.clientWidth; var T2 = obj2.offsetTop; var B2 = T2 + obj2.clientHeight; var L2 = obj2.offsetLeft; var R2 = L2 + obj2.clientWidth; if ( R2 < L1 || L2 > R1 || B2 < T1 || T2 > B1 ) { return false; // 沒撞上 } else { return true; // 撞上了 } }, //游戲結束 over : function( oGameBox ){ oGameBox.innerHTML = ’’; var oDiv = document.createElement(’div’); oDiv.style.cssText = ’width:300px;height:200px;margin:100px auto;background:#e0e0e0;border:5px solid #858585’; var oT = document.createElement(’h3’); oT.innerHTML = ’Game Over’; oT.style.cssText = ’padding-top:50px;font-size:25px;’; var oP1 = document.createElement(’p’); oP1.innerHTML = ’您的得分是:’ + ’<span style='color:#ffffff;font-weight:bold;'>’ + this.score + ’</span>’; oP1.style.cssText = ’font-size:16px;color:#fff;’; var oRestart = document.createElement(’div’); oRestart.style.cssText = ’width:100px;height:40px;font-size:14px;text-align:center;line-height:40px;color:white;background:#999;margin:20px auto;cursor:pointer;’; oRestart.innerHTML = ’重新開始’; oRestart.onclick = function(){ Game.init(); }; oDiv.appendChild( oT ); oDiv.appendChild( oP1 ); oDiv.appendChild( oRestart ); oGameBox.appendChild( oDiv ); }, //getclass 方法 getClass : function( cName , parent ){ parent = parent || document; if( document.getElementsByClassName ){ return parent.getElementsByClassName(cName); } else { var all = parent.getElementsByTagName(’*’); var arr = []; for( var i = 0;i<all.length;i++ ) { var arrClass = all.className.split(’ ’); for( var j = 0; j < arrClass.length;j++ ){ if( arrClass[j] == cName ) {arr.push( all[i]);break; } } } return arr; } }, }; </script> </body></html>

效果圖

原生JS實現飛機大戰小游戲

原生JS實現飛機大戰小游戲

原生JS實現飛機大戰小游戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
四虎4545www国产精品| 日韩精品国产精品| 蜜臀av在线播放一区二区三区| 高清一区二区三区| 欧美在线看片| 国产精品成人国产| 欧美a级一区二区| 亚洲v天堂v手机在线| 水野朝阳av一区二区三区| 欧美综合国产| 日韩中文字幕在线一区| 婷婷综合一区| 国产毛片精品| 四虎8848精品成人免费网站 | 精品国产欧美日韩一区二区三区| 国产日产精品_国产精品毛片 | 影音国产精品| 亚洲开心激情| 国产精品久久久久毛片大屁完整版| 久久99蜜桃| 亚洲91精品| 7777精品| 亚洲主播在线| 国产麻豆一区二区三区| 日本一不卡视频| 狠狠久久伊人中文字幕| 日韩免费福利视频| 在线观看免费一区二区| 日韩一区二区三免费高清在线观看 | 中文字幕在线视频网站| 亚洲风情在线资源| 五月国产精品| 久久高清精品| 日本天堂一区| 亚洲女同中文字幕| 精品国产中文字幕第一页| 亚洲天堂久久| 高清日韩欧美| 日本不卡一区二区| 蜜臀av免费一区二区三区| 亚欧成人精品| 欧美日韩中文一区二区| 久久国产生活片100| 1024精品久久久久久久久| 美女视频网站久久| 欧美成人久久| 国产suv精品一区| 欧美在线看片| 婷婷精品进入| 日韩欧美精品| 麻豆精品久久| 亚州精品视频| 久久最新视频| 亚洲成人国产| 日韩a一区二区| 国产伦精品一区二区三区视频| 欧美日韩国产传媒| 色在线视频观看| 国产精品伊人| 日本综合精品一区| 99亚洲精品| 婷婷成人基地| 久久中文字幕av一区二区不卡| 国产亚洲高清一区| 亚洲精品伦理| 麻豆成人在线| 免费在线观看视频一区| 国产高清一区二区| 91精品成人| 久久福利影视| 首页亚洲欧美制服丝腿| 免费日韩视频| 亚洲精品综合| 日韩三级精品| 欧美日韩中文| 国产一区国产二区国产三区 | av一区在线| 国产a久久精品一区二区三区| 美女在线视频一区| 久久精品国产久精国产| 国产a亚洲精品| 亚洲www啪成人一区二区| 亚洲免费福利| 久久在线视频免费观看| 亚洲黑丝一区二区| 蜜桃视频在线观看一区| 日韩欧美中文字幕一区二区三区 | 亚洲高清影视| 亚洲网址在线观看| 国产精品午夜一区二区三区| 久久亚洲人体| 麻豆成人综合网| av中文资源在线资源免费观看| 国产在线观看91一区二区三区| 日韩av有码| 欧美日韩黑人| 欧美亚洲人成在线| 精品国产精品国产偷麻豆| 一区二区三区四区日韩| 成人片免费看| 亚洲在线久久| 狠狠久久伊人中文字幕| 成人免费电影网址| 亚洲欧美日韩精品一区二区| 玖玖精品视频| 精品视频高潮| 久久要要av| 国产三级精品三级在线观看国产| 国产成人久久精品麻豆二区| 999久久久国产精品| 91麻豆精品| 91精品啪在线观看国产18| 88久久精品| 国产视频亚洲| 国产日韩一区二区三区在线| 久久久成人网| 久久精品二区亚洲w码| 夜夜嗨av一区二区三区网站四季av| 久久激五月天综合精品| 欧美搞黄网站| 日产精品一区二区| 老牛国产精品一区的观看方式| 国产精品13p| 91精品国产自产观看在线| 黑丝一区二区| 三级小说欧洲区亚洲区| 国产精品成人3p一区二区三区| 视频一区视频二区中文字幕| 色婷婷精品视频| 福利一区和二区| 国产日韩欧美一区二区三区在线观看| 日韩视频在线一区二区三区 | 激情婷婷综合| 欧美综合另类| av中文字幕在线观看第一页| 国产精品三级| 国产精品主播在线观看| 日韩不卡一区二区三区| 亚洲乱亚洲高清| 亚洲综合图色| 日韩激情综合| 欧美色综合网| 欧美成a人片免费观看久久五月天| 热久久久久久| 国产精品毛片视频| 国产福利一区二区精品秒拍 | 只有精品亚洲| 免费人成在线不卡| 欧美香蕉视频| 欧美激情另类| 亚洲成人国产| 免费人成在线不卡| 国产调教精品| 亚洲最新无码中文字幕久久| 88xx成人免费观看视频库| 久久国产影院| 日韩精品一二三区| 国产美女精品视频免费播放软件| 久久av免费看| 亚洲婷婷在线| 三级欧美韩日大片在线看| 日本一不卡视频| 国产欧美在线观看免费| 色综合狠狠操| 久热综合在线亚洲精品| 欧美日韩中出| 亚洲午夜精品久久久久久app| 亚洲制服一区| 91视频一区| 午夜亚洲福利在线老司机| 国产欧美自拍| 亚洲国产成人精品女人| 国产美女撒尿一区二区| 欧美成人日韩| 精品色999| 日本a级不卡| 美女精品在线观看| 国模大尺度视频一区二区| 日本不卡不码高清免费观看| 久久中文亚洲字幕| 亚洲免费福利| 国产成人精品亚洲线观看| 日韩福利在线观看| 亚洲免费一区三区| 午夜一区在线| 91精品99| 亚洲视频国产精品| 久久国产日本精品| 亚州av日韩av| 亚洲我射av| 日韩综合一区| 日韩精品五月天| 国产99在线| 另类综合日韩欧美亚洲| 婷婷成人av| 91精品美女| 九色porny丨国产首页在线| 亚洲精品欧美| 玖玖玖国产精品| 91精品国产调教在线观看|