真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用html5實(shí)現(xiàn)打飛機(jī)小游戲

本篇內(nèi)容主要講解“怎么用html5實(shí)現(xiàn)打飛機(jī)小游戲”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么用html5實(shí)現(xiàn)打飛機(jī)小游戲”吧!

創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來(lái)公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過(guò)去的十載時(shí)間我們累計(jì)服務(wù)了上千家以及全國(guó)政企客戶,如玻璃貼膜等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過(guò)硬的技術(shù)實(shí)力獲得客戶的一致稱譽(yù)。

代碼如下:

// 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");
  
// 用于記錄游戲的時(shí)間,越到后面越快
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;
}
// 飛機(jī)的對(duì)象
function flivverObj(hp,ewidth,eheight,eimg,esudu){
    // 隨機(jī)的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;
}
  
// 獲取飛機(jī)
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('');
    $('#sil').html('你').hide().fadeIn(1000,function(){
        $(this).html('你屎').hide().fadeIn(1000,function(){
            $(this).html('你屎了
' + jifen  + ' 分').hide().fadeIn();
        }); 
    });
}
  
(function(cxt){
    var dotu = {nums:0};
    // 用于存放小飛機(jī)
    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();
        // 設(shè)置背景
        dotu.setBg();
        // 設(shè)置小飛機(jī)
        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個(gè)檔位
        if(time1 == 1000){
            time1 = 0;
            time2 = (time2 == 20) ? 20 : time2 - 20;
        }
          
    }
      
      
    /**
     * 設(shè)置移動(dòng)的背景
     */
    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(){
        // 生成飛機(jī)
        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;
            // 如果超出屏幕將該小飛機(jī)刪除
            if(flivver[a].y > 780){
                flivver.splice(a, 1);
            }
            // 將小飛機(jī)畫到畫布上
              
              
            // 小飛機(jī)死亡
            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;
            // 將小飛機(jī)畫到畫布上
            cxt.drawImage(cartridgeImg,cartridges[i].x,cartridges[i].y,7,17);
              
            // 子彈碰到飛機(jī)的情況
            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('打中了編號(hào)' + j);
                      
                    if(flivver[j].hp > 1){
                        flivver[j].hp -= 80;
                    }else{
                        flivver[j].over = 40;
                        jifen += 50000;
                    }
                    // 子彈消失
                    cartridges.splice(i, 1);
                    break;
                }
            }
        }
    }
      
    // 綁定鼠標(biāo)事件
    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);

代碼如下:


http://www.w3.org/1999/xhtml">


打飛機(jī) - 多途




回到博客首頁(yè)
    鼠標(biāo)X: 鼠標(biāo)Y: 小飛機(jī)數(shù): 子彈數(shù): 打中: 生成飛機(jī)時(shí)間:   

到此,相信大家對(duì)“怎么用html5實(shí)現(xiàn)打飛機(jī)小游戲”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)站標(biāo)題:怎么用html5實(shí)現(xiàn)打飛機(jī)小游戲
瀏覽路徑:http://weahome.cn/article/psjjje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部