iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用原生JS实现飞机大战小游戏
  • 212
分享到

如何使用原生JS实现飞机大战小游戏

2023-06-15 11:06:20 212人浏览 泡泡鱼
摘要

小编给大家分享一下如何使用原生js实现飞机大战小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文实例为大家分享了JS实现飞机大战小游戏的具体代码,供大家参考,具体内容如下<html> <h

小编给大家分享一下如何使用原生js实现飞机大战小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

本文实例为大家分享了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('h2');    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('h4');     oT.innerHTML = 'Game Over';     oT.style.cssText = 'padding-top:50px;font-size:25px;';    var oP1 = document.createElement('p');     oP1.innerHTML = '您的得分是:' + '<span >' + 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实现飞机大战小游戏

看完了这篇文章,相信你对“如何使用原生JS实现飞机大战小游戏”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 如何使用原生JS实现飞机大战小游戏

本文链接: https://www.lsjlt.com/news/279730.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用原生JS实现飞机大战小游戏
    小编给大家分享一下如何使用原生JS实现飞机大战小游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文实例为大家分享了JS实现飞机大战小游戏的具体代码,供大家参考,具体内容如下<html> <h...
    99+
    2023-06-15
  • 原生JS实现飞机大战小游戏
    本文实例为大家分享了JS实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 <html> <head> <title> 飞机大战 &...
    99+
    2024-04-02
  • 用JS实现飞机大战小游戏
    本文实例为大家分享了JS实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 小的时候玩的飞机大战感觉还蛮神奇,今天自己就学着做了一个 先制作好要做好的几步以及背景样式 var...
    99+
    2024-04-02
  • js+css实现飞机大战游戏
    本文实例为大家分享了js+css实现飞机大战游戏的具体代码,供大家参考,具体内容如下 用js和css实现,css中定义样式,js中定义了具体的实现事件,例如碰撞、子弹、飞机等。 ma...
    99+
    2024-04-02
  • java如何实现飞机大战小游戏
    本篇内容介绍了“java如何实现飞机大战小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MyPanel类package &nb...
    99+
    2023-07-01
  • 基于JS如何实现飞机大战游戏
    今天小编给大家分享一下基于JS如何实现飞机大战游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。演示技术栈(function...
    99+
    2023-07-02
  • Vue实现飞机大战小游戏
    目录使用 Vue 开发一个简略版的飞机大战小游戏一、实现思路二、所需知识点三、实现步骤使用 Vue 开发一个简略版的飞机大战小游戏 如题,假设你为了向更多访问你博客的人展示你的技术,...
    99+
    2024-04-02
  • java实现飞机大战小游戏
    本文实例为大家分享了java实现飞机大战游戏的具体代码,供大家参考,具体内容如下 MyPanel类 package  P; import java.awt.Font; import...
    99+
    2024-04-02
  • javascript实现飞机大战小游戏
    本文实例为大家分享了javascript实现飞机大战游戏的具体代码,供大家参考,具体内容如下 文档结构如下 其中tool文件中只使用了随机数,audio中是存放的音乐文件,imag...
    99+
    2024-04-02
  • JS实现飞机大战小游戏的示例代码
    小编给大家分享一下JS实现飞机大战小游戏的示例代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!先制作好要做好的几步以及背景样式var canvas = document.getElement...
    99+
    2023-06-15
  • 怎么用Python实现小游戏飞机大战
    本篇内容介绍了“怎么用Python实现小游戏飞机大战”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、环境安装本文是写的游戏代码,基于Pyg...
    99+
    2023-06-25
  • javascript实现简单飞机大战小游戏
    本文实例为大家分享了javascript实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 效果图 html文件 <!DOCTYPE html> <html ...
    99+
    2024-04-02
  • python实现简单飞机大战小游戏
    为了熟悉Python基础语法,学习了一个经典的案例:飞机大战,最后实现效果如下: 实现步骤: ①下载64位对应python版本的pygame:pygame-1.9.6-cp38-c...
    99+
    2024-04-02
  • C++实现飞机大战游戏
    本文实例为大家分享了C++实现飞机大战游戏的具体代码,供大家参考,具体内容如下 代码是单线程执行,无界面,(博主下一步学习QT之后融入)还有待改进。先放张界面图: 话不多说 上...
    99+
    2024-04-02
  • JavaScript实现前端飞机大战小游戏
    本文实例为大家分享了JavaScript实现前端飞机大战的具体代码,供大家参考,具体内容如下 html: <!DOCTYPE html> <html>    ...
    99+
    2024-04-02
  • C语言实现飞机大战小游戏
    本文实例为大家分享了C语言实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 技术原型 1、void gotoxy(int x, int y) 函数,该函数可以使光标去到(x,y...
    99+
    2024-04-02
  • jQuery实现飞机大战游戏
    目录一、效果图二、核心代码1.创建地图  2.用户选择飞机界面3.设置背景循环4.创建飞机5.创建敌机6.敌机移动7.设置敌机爆炸8.创建子弹9.检测子弹的移动(...
    99+
    2024-04-02
  • java实现飞机大战游戏
    java实现飞机大战,供大家参考,具体内容如下 用Java写个飞机大战游戏练习一下,实现可播放游戏背景音乐和游戏的基本功能 设计 1、准备好相应的图片和背景音乐(.wav文件); 2...
    99+
    2024-04-02
  • JavaScript实现飞机大战游戏
    本文实例为大家分享了canvas ,js 实现一个简单的飞机大战,供大家参考,具体内容如下 预览图: 代码: <!DOCTYPE html> <html>...
    99+
    2024-04-02
  • Python实战小游戏飞机大战详解
    目录导语​正文一、环境安装二、我方飞机三、敌方飞机四、控制键盘移动五、检测子弹碰撞六、效果图总结导语 “看见别人都那么努力,那么勤奋,那么意气风发地走在成功的道路上,你问...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作