• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > html5实现微信打飞机游戏代码分享

html5实现微信打飞机游戏代码分享

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了html5,微信打飞机游戏等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
这篇文章主要介绍了html5实现微信打飞机游戏,需要的朋友可以参考下

html5实现微信的打飞机游戏,利用这个小游戏学习一个HTML5吧,这是开发WEB的一个方向

代码如下:

// JavaScript Document
var c = document.getElementById("dotu");
var cxt = c.getContext("2d");
var img = newImg("./assets/bg_01.jpg");
var fps;
cxt.drawImage(img,0,0,480,800);

var flivverLog = 0;
var flivver1 = newImg("./assets/flivver.png");
var flivver2 = newImg("./assets/flivver2.png");
var flivver3 = newImg("./assets/flivver3.png");

// 用于记录游戏的时间,越到后面越快
var time1 = 0;
var time2 = 80;

// 积分
var jifen = 0;

function getSudu(){
   var number = parseInt(Math.random()*10);
   if(number < 5 && number > 0){
       return number;
   }
   return 1;
}
// 飞机的对象
function flivverObj(hp,ewidth,eheight,eimg,esudu){
   // 随机的X
   this.x = parseInt(Math.random()*460+1);
   this.y = 0;
   // 血量
   this.hp = hp;
   // 挨打   
   this.hit = 0;
   // 是否死亡
   this.over = 0;

   this.width = ewidth;
   this.height = eheight;
   this.img = eimg;
   this.sudu = esudu;
}

// 获取飞机
function getFlivver(type){
   switch(type){
       case 1:
           return new flivverObj(100,50,30,flivver1,getSudu());
       case 2:
           return new flivverObj(500,70,90,flivver2,getSudu());
       case 3:
           return new flivverObj(1000,110,170,flivver3,getSudu());
   }
}
function cartridge(x,y){
   this.x = x;
   this.y = y; 
}

function gameover(){
   window.clearTimeout(fps);
   //$('#dotu').fadeOut();
   $('.content').css('position','relative');
   $('.content').append('<span style="position:absolute; top:5px; left:2px; font-size:150px; color:#cc0000;  text-align:center" id="sil"></span>');
   $('#sil').html('你').hide().fadeIn(1000,function(){
       $(this).html('你屎').hide().fadeIn(1000,function(){
           $(this).html('<a href="javascript:location.reload();" style="color:#cc0000" title="重新开始">你屎了</a>
' + jifen  + ' 分').hide().fadeIn();
       }); 
   });
}

(function(cxt){
   var dotu = {nums:0};
   // 用于存放小飞机
   var flivver = new Array();
   var flivverImg = newImg("./assets/flivver.png");
   // 自己
   var me = {x:240,y:750};
   var meImg = newImg('assets/me.png');
   // 子弹
   var cartridges = new Array();
   var cartridgeImg = newImg('./assets/cartridge.png');

   var boo1 = newImg('./assets/boo1.png');
   var over = newImg('./assets/over.png');
   // 
   dotu.update = function(){

       dotu.setTimes();
       // 设置背景
       dotu.setBg();
       // 设置小飞机
       dotu.setFlivver();
       // 画自己
       dotu.setMe();
       // 子弹
       dotu.cartridge();


       cxt.font = "italic 20px 微软雅黑";
       cxt.strokeText("积分:" + jifen, 10, 30);

       $('#fjs').html(flivver.length);
       $('#zds').html(cartridges.length);
       $('#scfj').html("1000/" + time2 + " 毫秒");
   }

   dotu.setTimes = function(){
       time1++ ;
       // 100 秒 1个档位
       if(time1 == 1000){
           time1 = 0;
           time2 = (time2 == 20) ? 20 : time2 - 20;
       }

   }


   /**
    * 设置移动的背景
    */
   dotu.setBg = function(){
       dotu.nums++;
       if(dotu.nums == 800){
           dotu.nums = 0;  
       }
       // 画布的背景
       cxt.drawImage(img,0,dotu.nums,480,800);
       cxt.drawImage(img,0,dotu.nums - 800,480,800);
   }

   dotu.setFlivver = function(){
       // 生成飞机
       if(dotu.nums % time2 == 0){
           flivverLog++;
           if(flivverLog % 6 == 0){
               flivver.push(getFlivver(2));
           }else if(flivverLog % 13 == 0){
               flivver.push(getFlivver(3));
           }else{
               flivver.push(getFlivver(1));
           }

       }

       for(a in flivver){



           flivver[a].y += flivver[a].sudu;
           // 如果超出屏幕将该小飞机删除
           if(flivver[a].y > 780){
               flivver.splice(a, 1);
           }
           // 将小飞机画到画布上


           // 小飞机死亡
           if(flivver[a].over > 0){
               flivver[a].over --;

               if(flivver[a].over > 20){
                   cxt.drawImage(boo1,flivver[a].x + flivver[a].width/2 - 20  ,flivver[a].y + flivver[a].height / 2 -10,41,39);
               }else if(flivver[a].over > 2){
                   cxt.drawImage(over,flivver[a].x + flivver[a].width/2 - 20 ,flivver[a].y + flivver[a].height / 2 -10,40,43);
               }else{
                   flivver.splice(a, 1);
               }



           }else{
               cxt.drawImage(flivver[a].img,flivver[a].x,flivver[a].y,flivver[a].width,flivver[a].height);
               // 判断自己是否死亡
               if( me.x > (flivver[a].x - flivver[a].width + 20) && (me.x) <(flivver[a].x + flivver[a].width - 20) && (me.y) < (flivver[a].y + flivver[a].height + 20) && (me.y + 72) > (flivver[a].y - 20)){
                   gameover();
               }

               if(flivver[a].hit > 0){
                   cxt.drawImage(boo1,flivver[a].x + flivver[a].width/2 - 20 ,flivver[a].y + flivver[a].height / 2 -10,41,39);
                   //cxt.drawImage(boo1,flivver[a].x + 5 ,flivver[a].y,41,39);
                   flivver[a].hit--;
               }
           }

       }
   }

   // 更新自己的距离
   dotu.setMe = function(){
       cxt.drawImage(meImg,me.x,me.y,64,72);
   }

   // 更新子弹方法
   dotu.cartridge = function(){
       if(dotu.nums % 10 == 0){
           cartridges.push(new cartridge(me.x + 30,me.y));
       }

       for(i in cartridges){
           // 飞到顶部就将OBJ删除掉
           if(cartridges[i].y < 0){
               cartridges.splice(i, 1);
               continue;
           }


           cartridges[i].y -= 20;
           // 将小飞机画到画布上
           cxt.drawImage(cartridgeImg,cartridges[i].x,cartridges[i].y,7,17);

           // 子弹碰到飞机的情况
           for(j in flivver){
               if(flivver[j].over > 0){
                   continue;
               }
               if(cartridges[i].x > flivver[j].x && cartridges[i].x < flivver[j].x+ flivver[j].width && cartridges[i].y >  flivver[j].y && cartridges[i].y -flivver[j].height < flivver[j].y){

                   flivver[j].hit = 10;
                   $('#isdz').html('打中了编号' + j);

                   if(flivver[j].hp > 1){
                       flivver[j].hp -= 80;
                   }else{
                       flivver[j].over = 40;
                       jifen += 50000;
                   }
                   // 子弹消失
                   cartridges.splice(i, 1);
                   break;
               }
           }
       }
   }

   // 绑定鼠标事件
   c.addEventListener('mousemove', function onMouseMove(evt) {
       me.x = evt.layerX - $('#dotu').offset().left - 32;
       me.y = evt.layerY -  36 ;
       $('#sbX').html(me.x);
       $('#sbY').html(me.y);
   });

   fps = setInterval(dotu.update, 1000/100); 
}(cxt))


function newImg(src){
   var obj = new Image();
   obj.src = src;
   return obj;
}

//setInterval(h.update, 1000/65);

代码如下:

<!DOCTYPE html>
<html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>">
<head>
<meta htt



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信硬件H5开发之控制灯光
  • html5实现微信打飞机游戏代码分享
  • 分享微信开发Html5轻游戏中的几个坑
  • 微信开发html5轻游戏中的几个坑

相关文章

  • Force.com微信开发系列后台配置
  • C#开发微信门户及应用-微信菜单增加扫一扫、发图片、发地理位置功能
  • 浅谈微信协议相关总结
  • 关于跑步微信的详细介绍
  • 微信公众平台开发:请求消息去重
  • asp.net微信开发已关注用户管理步骤详解
  • 分享微信开发Html5轻游戏中的几个坑
  • C#微信开发:根据经纬度获取地址
  • 详解.NET开发微信公众号之公众号消息处理方法
  • 教你libco是如何支撑巨大数据信息量的

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信开发之解绑设备通知的方法
    • 微信报警 zabbix实现详解
    • 总结关于页面路由实例教程
    • .Net开发微信公众平台之语音识别代码解析
    • 分享微信公众号实现会员卡领取的功能
    • 谈谈微信公众平台注册的实例
    • php微信支付接口开发程序详细介绍
    • .net微信公众号开发
    • 微信接口开发的详细介绍
    • 微信开发入门(七)如何使用weui.wxss

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有