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

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

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

瀏覽:170日期: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久久,三上悠亚国产精品一区二区三区
国产免费av一区二区三区| 免费人成精品欧美精品| 亚洲精品亚洲人成在线观看| 欧美精品九九| 日韩午夜精品| 蜜臀久久99精品久久久久宅男| 国产免费成人| 在线精品一区二区| 日本不卡高清| 国产福利一区二区精品秒拍| 国产日本亚洲| 国产精品九九| 国产成人精选| 成人午夜国产| 蜜臀av免费一区二区三区| 欧美高清一区| 国产精品人人爽人人做我的可爱| 亚洲一区二区三区久久久| 日韩精品中文字幕一区二区| 国产亚洲久久| 精品无人区麻豆乱码久久久| 中文一区一区三区高中清不卡免费| 欧美一区久久久| 91久久国产| 蜜桃久久精品一区二区| 日韩激情网站| 久久wwww| 国产v综合v| 国产一级一区二区| 日韩av中文字幕一区| 国产精品红桃| 国产超碰精品| 久久亚洲不卡| 国产精品美女久久久久久不卡| 久久精品三级| 视频小说一区二区| 中文无码日韩欧| 国产另类在线| 久久婷婷av| 亚洲aa在线| 美腿丝袜亚洲三区| 久久精品观看| 日韩欧美美女在线观看| 国产96在线亚洲| 99热国内精品| 日韩欧美中文字幕电影| 国产成人精品三级高清久久91| 欧美日韩一二三四| 亚洲ab电影| 国产综合色区在线观看| 日韩精品第二页| 色婷婷精品视频| 日韩一区二区三区免费视频 | 日韩国产精品久久久久久亚洲| 精品国产亚洲日本| 日韩亚洲在线| 国产精品久久久久久模特| 蜜桃视频欧美| 国产精品一区二区精品视频观看| av一区在线| 青青国产精品| 99热精品久久| 欧美精品成人| 香蕉久久国产| 欧美好骚综合网| 亚洲精品免费观看| 丝袜美腿一区| 日韩激情综合| 欧美精品自拍| 国产精品麻豆久久| 日韩二区在线观看| 亚洲激情久久| 91一区二区| 日韩福利视频一区| 久久香蕉国产| 免费观看亚洲天堂| 日韩三级精品| 香蕉久久夜色精品国产| 日韩成人亚洲| 精品国产中文字幕第一页| 亚洲人成网77777色在线播放| 久久三级视频| 麻豆成人在线观看| 亚洲综合国产| 日韩精品影视| 成人一区而且| 久久国际精品| 亚洲综合色婷婷在线观看| 久久影院一区| 成人国产精品一区二区网站| 日韩欧美2区| 丝袜脚交一区二区| 精品在线播放| 在线人成日本视频| 久久99精品久久久野外观看| 日韩午夜视频在线| 亚洲一二av| 亚洲精品国产偷自在线观看| 特黄毛片在线观看| 水蜜桃久久夜色精品一区| 国产精品伦一区二区| 日韩国产欧美视频| 视频精品一区| 国产精品普通话对白| 婷婷六月综合| 亚洲a一区二区三区| a天堂资源在线| 国产成人精品一区二区三区在线| 久久一区亚洲| 久久男人av| 里番精品3d一二三区| 国产精品久久久免费| 国产精品一二| 欧美片第1页综合| 亚洲不卡视频| 日韩精品导航| 欧美日韩视频免费看| 日韩国产91| 日韩精品一级| 日韩成人午夜精品| 日韩午夜视频在线| 欧美在线91| 国产日产一区| 久久av免费| 精品视频在线观看网站| 久久麻豆视频| 国产一区二区三区探花| 精品入口麻豆88视频| 久久久久久久久成人| 国产在线看片免费视频在线观看| 黄色在线观看www| 日韩欧美一区二区三区在线观看| 91精品国产福利在线观看麻豆| 99久久www免费| 蜜桃视频欧美| 日韩精品一级中文字幕精品视频免费观看 | 久久精品国产网站| 精品亚洲免a| 日韩免费视频| 国产99精品一区| 亚洲一区二区毛片| 亚洲日产国产精品| 国产精品视频3p| 国产a亚洲精品| 日韩成人综合| 激情综合自拍| 石原莉奈在线亚洲二区| 午夜精品影视国产一区在线麻豆| 日本午夜精品视频在线观看| 国产精品亚洲综合久久| 国产va免费精品观看精品视频| 99精品一区| 少妇精品久久久一区二区| 国产精品一区免费在线| 久久青青视频| 亚洲综合精品四区| 天堂久久av| 麻豆精品视频在线观看免费| 伊伊综合在线| 欧美a级一区| 日韩精品视频网| 精品一区二区三区中文字幕视频| 亚洲成人精品| 日本特黄久久久高潮| 成人一区而且| 久久亚洲风情| 久久久久伊人| 免费精品国产的网站免费观看| 综合激情视频| 久久精品女人| 在线亚洲国产精品网站| 欧美一级久久| 999久久久精品国产| 亚洲精品一级二级三级| 久久免费精品| 欧美特黄a级高清免费大片a级| 日韩一区精品| 精品亚洲美女网站| 日韩视频1区| 日韩综合精品| 亚洲精品第一| 日韩一区欧美| 日韩欧美中文字幕在线视频| 日韩视频网站在线观看| 亚洲精品动态| 日韩精品影视| 国产精品一区二区99| 精品在线播放| 久久精品天堂| 男人操女人的视频在线观看欧美| 久久成人av| 免费美女久久99| 麻豆高清免费国产一区| 亚洲在线观看| 首页国产精品| 久久国产婷婷国产香蕉| 99国产精品私拍| 国产精品久久久久久久久久10秀| 亚洲精品影视| 午夜久久福利|