栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

JavaScript用200行代码制作打飞机小游戏实例

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript用200行代码制作打飞机小游戏实例

我去,我的图片分数被这个录屏软件的水印盖上了,扎心。

这个程序的文件以及代码全部上传到了github

程序下载链接传送门

这是自己第一次通过js写的小游戏,那个时候对象的原理跟结构体的概念不是特别的清晰,所以没用对象来写,所以直接导致后期我对这个程序进行修改的时候出现问题,太过于复杂了,我终于了解什么叫做牵一发动全身了。所以这个程序教会我一定一定要用对象的思想处理以后的问题,尤其是这种带属性明显的东西。

当然你要问我图片怎么来的我只能说都是我自己画的所以这可是原创的原创。

代码部分我是通过一个大的函数直接进行所有的封装,当然写这个的时候的我完完全全对jquery么有一丁点认识,所以自己写了渐隐渐现的函数。所以开始的代码很简单。

window.onload = function(){
  var base = new base();
  var start = document.getElementById('start');
  start.onclick = function(){
    base.fadehide('start');
    getId('path').style.display='block';
    base.fadeshow('path');
    base.createBullteAndMovePlain();

  }

}

这就是开始接入的函数。渐隐渐现的函数是这个。

   this. fadehide = function (name){
      var   i = 1;
      var odiv = document.getElementById(name);
      function show(){  
 odiv.style.opacity = i;
 i-=0.1; 
  if(i<0){odiv.style.display = 'none';clearInterval(t);
  }
      }
var t = setInterval(show,10);
return this;
    }

    this.fadeshow = function (name){
      var i = 0;
      var odiv = document.getElementById(name);
      function show(){  
 odiv.style.opacity = i;
 i+=0.1; 
  if(i>1){clearInterval(t);}
      }
var t = setInterval(show,100);  
      return this;
    }

剩下的代码,懒得解释了,里面有注释。

    //生成子弹
      this.createBullteAndMovePlain = function (){
      var arr= [];
      var bulletNum=[];
      var way = path.getElementsByClassName('way');
      var play =document.getElementById('bullet');
      var flag =0;
      var score=0;

      //获取按键
      document.onkeydown = function(evt){
 var ev = evt||event;
 //left keyCode is 39
 //right keyCode is 37
 switch(ev.keyCode){
   case 39:
   flag=(flag+1)%5;
   break;
   case 37:
   if(flag==0){
   flag=Math.abs(flag-4);
   }else if(flag>0){
     flag=(flag-1)%5;
   }
   break;
 }

      //移动飞机
   function movePlain (){
     var plain = document.getElementById('player');
     switch(flag){
     case 0:player.style.left='0px';break;
     case 1: player.style.left='100px';break;
     case 2: player.style.left='200px';break;
     case 3: player.style.left='300px';break;
     case 4:player.style.left='400px';break;

   }
   }
   movePlain();
      }


      function createBulltes(){


 //生成敌人
   var newenemy = document.createElement('img');
   newenemy.src = 'img/enemy.png';
   newenemy.style.position='absolute';
   newenemy.style.zIndex='5';
   var enemyTop=0;
   var sign=0;
   var randomNum = Math.random()*5;
   sign=Math.floor(randomNum);
   newenemy.style.top='0px';
   switch(sign){
     case 0:newenemy.style.left='0px';break;
case 1: newenemy.style.left='100px';break;
case 2: newenemy.style.left='200px';break;
case 3: newenemy.style.left='300px';break;
case 4:newenemy.style.left='400px';break;

   }way[0].appendChild(newenemy);
   arr.unshift(newenemy);
      //生成子弹    
   var bullet = document.getElementById('bullet');
   var newbullet = document.createElement('img');
   var plain = document.getElementById('player');
   newbullet.className='bullet';
   newbullet.style.position='absolute';
   newbullet.style.top='560px';  
   newbullet.src='img/bullet.png';
   newbullet.style.zIndex='4';      
   var bulletTop=0;


   switch(flag){
     case 0: newbullet.style.left='45px';player.style.left='0px';;break;
     case 1: newbullet.style.left='145px';player.style.left='100px';;break;
     case 2: newbullet.style.left='245px';player.style.left='200px';break;
     case 3: newbullet.style.left='345px';player.style.left='300px';break;
     case 4: newbullet.style.left='445px';player.style.left='400px';break;

   }way[2].appendChild(newbullet);
   bulletNum.unshift(newbullet);
 //分数图片
   function scoreup(score){
     var imgs = document.getElementsByClassName('score');
     var imgsnum=score.toString().split('');

     for(var i=0; i

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/86943.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号