日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
蘑菇與熊游戲開發(fā)第六回(繪制獎(jiǎng)品)

第六回主要講怎么把獎(jiǎng)品描繪上去

在洛江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),洛江網(wǎng)站建設(shè)費(fèi)用合理。

預(yù)期達(dá)到的效果:http://www.html5china.com/html5games/mogu/index5.html

由于獎(jiǎng)品特別多,而且是有序的,所以我們使用一個(gè)數(shù)組來裝所有獎(jiǎng)品的位置

一、需要到的全局變量

 
 
 
  1. var flowerImg = new Image();//獎(jiǎng)品鮮花      
  2. var leafImg = new Image();//獎(jiǎng)品葉子      
  3. var acornImg = new Image();//獎(jiǎng)品橡子     

鮮花圖片下載:http://www.html5china.com/html5games/mogu/images/flower.png

葉子圖片下載:http://www.html5china.com/html5games/mogu/images/leaf.png

橡子圖片下載:http://www.html5china.com/html5games/mogu/images/acorn.png

二、初始化托全局變量

 
 
 
  1. //加載圖片         
  2. function LoadImages()         
  3. {         
  4.     mushroomImg.src = "images/mushroom.png";//蘑菇         
  5.     backgroundForestImg.src = "images/forest1.jpg";//森林背景圖        
  6.     bearEyesClosedImg.src = "images/bear_eyesclosed.png";//閉著眼睛的      
  7.     flowerImg.src = "images/flower.png";//獎(jiǎng)品花      
  8.     acornImg.src = "images/acorn.png";//獎(jiǎng)品橡子      
  9.     leafImg.src = "images/leaf.png";//獎(jiǎng)品葉子      
  10.    
  11.     mushroom.image = mushroomImg;         
  12.     animal.image = bearEyesClosedImg;      
  13. }     

三、定義獎(jiǎng)品數(shù)據(jù)及實(shí)例

 
 
 
  1. //定義獎(jiǎng)品數(shù)組Prizes和對(duì)象Prize,繼承游戲?qū)ο驡ameObject      
  2. var prizes = new Array();      
  3. function Prize() {};      
  4. Prize.prototype = new GameObject();//繼承游戲?qū)ο驡ameObject      
  5. Prize.prototype.row = 0;//獎(jiǎng)品行位置      
  6. Prize.prototype.col = 0;//獎(jiǎng)品列位置    

四、把獎(jiǎng)品裝進(jìn)數(shù)組

 
 
 
  1. //創(chuàng)建獎(jiǎng)品數(shù)組      
  2. function InitPrizes()      
  3. {      
  4.     var count=0;      
  5.     //一共3行      
  6.     for(var x=0; x<3; x++)      
  7.     {      
  8.         //一共23列      
  9.         for(var y=0; y<23; y++)      
  10.         {      
  11.             prize = new Prize();      
  12.             if(x==0)      
  13.                 prize.image = flowerImg;//鮮花放在第一行      
  14.             if(x==1)      
  15.                 prize.image = acornImg;//豫子剛在第2行      
  16.             if(x==2)      
  17.                 prize.image = leafImg;//葉子放在第3行      
  18.                       
  19.             prize.row = x;      
  20.             prize.col = y;      
  21.             prize.x = 20 * prize.col + 10;//x軸位置      
  22.             prize.y = 30 * prize.row + 20;//y軸位置      
  23.             //裝入獎(jiǎng)品數(shù)組,用來描繪      
  24.             prizes[count] = prize;      
  25.             count++;      
  26.         }      
  27.     }      
  28. }    

五、從數(shù)組中取出獎(jiǎng)品并描繪

 
 
 
  1. //繪制獎(jiǎng)品,把獎(jiǎng)品顯示在畫布上      
  2. function DrawPrizes()      
  3. {      
  4.     for(var x=0; x
  5.     {      
  6.         currentPrize = prizes[x];      
  7.         ctx.drawImage(currentPrize.image, prizes[x].x, prizes[x].y);      
  8.     }      
  9. }    

六、在游戲循環(huán)GameLoop()中加入描繪獎(jiǎng)品的函數(shù),如下

 
 
 
  1.   function GameLoop()         
  2.   {         
  3.       //清除屏幕         
  4.       ctx.clearRect(0, 0, screenWidth, screenHeight);         
  5.       ctx.save();         
  6.       //繪制背景         
  7.       ctx.drawImage(backgroundForestImg, 0, 0);         
  8.       //繪制蘑菇         
  9.       ctx.drawImage(mushroom.image, mushroom.x, mushroom.y);       
  10. //繪制獎(jiǎng)品      
  11. DrawPrizes();             
  12. //繪制熊      
  13. //改變移動(dòng)動(dòng)物X和Y位置      
  14. animal.x += horizontalSpeed;      
  15. animal.y += verticalSpeed;      
  16. //改變翻滾角度      
  17. animal.angle += bearAngle;      
  18. //以當(dāng)前熊的中心位置為基準(zhǔn)      
  19.         ctx.translate(animal.x + (animal.image.width/2), animal.y + (animal.image.height/2));      
  20. //根據(jù)當(dāng)前熊的角度輪換      
  21.     ctx.rotate(animal.angle * Math.PI/180);      
  22. //描繪熊      
  23.     ctx.drawImage(animal.image, - (animal.image.width/2), - (animal.image.height/2));      
  24.      
  25.       ctx.restore();      
  26. //檢測(cè)是否碰到邊界      
  27. HasAnimalHitEdge();      
  28. //檢測(cè)熊碰撞蘑菇      
  29. HasAnimalHitMushroom();      
  30.      
  31.       }       

#p#

到此第六回的完整代碼如下:

 
 
 
  1.         
  2.         
  3.         
  4.         
  5. 蘑菇動(dòng)起來-html5中文網(wǎng)        
  6.      
  7.         
  8.         
  9.         
  10.         
  11.         
  12.             
  13.                
  14.         瀏覽器不支持html5,請(qǐng)下載支持html5的瀏覽器來觀看       
  15.                 
  16.     
        
  •                
  •        
  • 第六回就講到這了,第七回講描繪熊碰到獎(jiǎng)品,獎(jiǎng)品消失的事件


    本文題目:蘑菇與熊游戲開發(fā)第六回(繪制獎(jiǎng)品)
    標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/djoscig.html