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

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
蘑菇與熊游戲開發(fā)第二回(讓蘑菇動起來)

上回分析了游戲,在這一回我們將讓蘑菇跟隨鼠標動起來~

達到這個效果:http://www.html5china.com/html5games/mogu/index1.html

一、寫html代碼

 
 
 
  1.          
  2.              
  3.                  
  4.                  
  5.     
         
  •     
  • 用ID為container 的DIV來獲取鼠標移動畫面的事件

    canvas用來繪圖

    二、定義全局變量

     
     
     
    1. //全局變量             
    2. var backgroundForestImg = new Image();//森林背景圖             
    3. var mushroomImg = new Image();//蘑菇圖             
    4. var ctx;//2d畫布             
    5. var screenWidth;//畫布寬度             
    6. var screenHeight;//畫布高度    

    賦予全局變量值

     
     
     
    1. mushroomImg.src = "images/mushroom.png";//蘑菇             
    2. backgroundForestImg.src = "images/forest1.jpg";//森林背景圖             
    3. ctx = document.getElementById('canvas').getContext('2d');             
    4. screenWidth = parseInt($("#canvas").attr("width"));             
    5. screenHeight = parseInt($("#canvas").attr("height"));     

    三、定義蘑菇實例

    由于在畫布上的物體全部都有3個共同的屬性:x、y坐標,素材image

    所以我們定義一個公用的游戲物體

     
     
     
    1. //公用 定義一個游戲物體戲對象          
    2. function GameObject()          
    3. {          
    4.     this.x = 0;//x 坐標         
    5.     this.y = 0;//y 坐標         
    6.     this.image = null; //圖片         
    7. }        

    為了方便拓展,定義一個公用的蘑菇

     
     
     
    1. //定義公用蘑菇Mushroom 繼承游戲對象GameObject          
    2. function Mushroom() {};          
    3. Mushroom.prototype = new GameObject();//游戲對象GameObject    

    定義一個我們使用到的具體蘑菇

     
     
     
    1. //蘑菇實例          
    2. var mushroom = new Mushroom();      

    初始化蘑菇的位置和圖片

     
     
     
    1. mushroom.image = mushroomImg;             
    2. mushroom.x = parseInt(screenWidth/2);             
    3. mushroom.y = screenHeight - 40;      

    四、用canvas把蘑菇繪制出來

     
     
     
    1. //循環(huán)描繪物體          
    2. function gameLoop()          
    3. {          
    4.     //清除屏幕          
    5.     ctx.clearRect(0, 0, screenWidth, screenHeight);          
    6.     ctx.save();          
    7.     //繪制背景          
    8.     ctx.drawImage(backgroundForestImg, 0, 0);          
    9.     //繪制蘑菇          
    10.     ctx.drawImage(mushroom.image, mushroom.x, mushroom.y);          
    11.     ctx.restore();          
    12.     }       

    好了,到這里蘑菇也定義了,背景圖也定義了,繪圖也定義了,下面就開始整合上面的代碼寫一個完整的把蘑菇和背景描述在畫布上

     
     
     
    1.      
    2.      
    3.      
    4.      
    5. 蘑菇動起來-html5中文網     
    6.    
    7.      
    8.      
    9.      
    10.      
    11.      
    12.          
    13.              
    14.              
    15.     
         
  •             
  •     
  • 蘑菇圖片下載地址:http://www.html5china.com/html5games/mogu/images/mushroom.png

    背景圖片下載地址:http://www.html5china.com/html5games/mogu/images/forest1.jpg

    你試著在支持html5的瀏覽器上運行上面代碼試看~是不是蘑菇描繪出來了~

    假如你能看到效果了,那祝賀你~你有了個很好的開端~

    上面的步驟只是將蘑菇和場景繪出來了,那么接下來我們讓他隨鼠標動起來~

    給DIV#container添加放上鼠標的事件

    當鼠標放在DIV#container上面時,蘑菇的X軸坐標等與鼠標的X軸坐標

     
     
     
    1. //事件處理      
    2. function addEventHandlers()      
    3. {      
    4.     //鼠標移動則蘑菇跟著移動      
    5.     $("#container").mousemove(function(e){      
    6.         mushroom.x = e.pageX - (mushroom.image.width/2);      
    7.     });       
    8.           
    9. }    

    我們只要在剛才的演示代碼中的 $(window).ready(function(){ }); 里面加上addEventHandlers();就可以了,如下

     
     
     
    1. //初始化      
    2. $(window).ready(function(){     
    3.     addEventHandlers();//加上事件   
    4.     loadImages();         
    5.     ctx = document.getElementById('canvas').getContext('2d'); //獲取2d畫布         
    6.     mushroom.image = mushroomImg;      
    7.     screenWidth = parseInt($("#canvas").attr("width"));      
    8.     screenHeight = parseInt($("#canvas").attr("height"));      
    9.     mushroom.x = parseInt(screenWidth/2);      
    10.     mushroom.y = screenHeight - 40;       
    11.     setInterval(gameLoop, 10);      
    12. });    

    你再運行代碼試下,是不是蘑菇跟著鼠標動起來了~

    第二回就講到這了,第三回講怎么繪制一只熊并讓他滾動起來~


    新聞名稱:蘑菇與熊游戲開發(fā)第二回(讓蘑菇動起來)
    URL網址:http://www.dlmjj.cn/article/dpijhde.html