中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

javascript HTML5 canvas實現(xiàn)打磚塊游戲
來源:易賢網(wǎng) 閱讀:1049 次 日期:2016-07-08 15:20:12
溫馨提示:易賢網(wǎng)小編為您整理了“javascript HTML5 canvas實現(xiàn)打磚塊游戲”,方便廣大網(wǎng)友查閱!

本文實例編寫的一個小游戲,基于HTML5中的canvas。游戲主要是小球反彈擊打小方塊。在代碼中主要實現(xiàn)了小方塊的生成,鍵盤鍵事件的監(jiān)聽,小球的移動和碰壁之后的反彈以及怎樣消除小方塊等方法。代碼使用到了一個js腳本庫

游戲開發(fā)流程:

1、創(chuàng)建畫布:

將畫布放在div標簽里面,這樣可以控制畫布居中的位置,再對div標簽加上一些樣式比如border和border-radius,這樣一來使其看上去像手機,利于觀看。

<div id="main">

 <!--將畫布嵌在div塊里面,使其可以居中-->

 <canvas id="liuming_canvas" width="300px" height="500px">

 </canvas>

</div>

2、創(chuàng)建移動的小木塊:

定義一個可以用于移動的小方塊,該移動小方塊包含如下的屬性,坐標位置,小方塊的長和寬和小方塊每次移動的距離。

var diamond = {

 x : 100,  

 y : 485,

 width : 100,

 height : 15,

 move : 10

}

3、創(chuàng)建用于擊打的小球:

定義一個用于移動和擊打小方塊的小球,該小球包含如下的屬性,小球的做坐標位置,半徑,在x軸和y軸的速度。其中x軸和y軸的速度是為小球計算移動的方向和移動之后的坐標值。

var ball_impact = {

 x : 150,

 y : 465,

 r : 10,

 vx : 200,

 vy : 200

}

4、生成一系列的小方塊:

生成一系列的小方塊用于被小球擊打,小球的生成主要是根據(jù)畫布的大小和小方塊的坐標與長寬以及各個小方塊的x軸和y軸的間隔。

var diamond_impact = [];//定義存儲擊打小方塊的數(shù)組

diamond_impact.length = 0;

var width_span = 25; // 任意兩個小方塊的橫向間隔 

var height_span = 25;  //任意兩個小方塊的水平間隔 

for(var i =1 ; i <=10 ; i++){//控制每行輸出的小方塊

 for(var j = 1 ; j < 10 ; j++){//輸出每列的小方塊 只有x軸和y軸的坐標不一樣而已

  var diamond_impact_children = {

   x : width_span,

   y : height_span,

   width : 10,

   height : 10

  };

  width_span += 30;

  diamond_impact.push(diamond_impact_children); //將得到的小方塊放在 diamond_impact 中,已被以后使用

 }

 height_span += 25;

 width_span = 25;

}

5、編寫移動小方塊的移動方法:

移動小方塊的實現(xiàn),首先需要監(jiān)聽獲得鍵盤的事件,之后再根據(jù)獲得的鍵盤事件來分別處理來向那個方向移動,在此處我分別定義了四個方向,目的是為了只在左右移動可能不能完全消滅小方塊,

在移動的過程之中還要判斷移動小方塊的位置,以防止是否已經(jīng)出界。在此處我分別定義了四個方法來處理各個方向的移動。 

//鍵盤事件,獲取當前在那個方向運動

var direction = "";

document.onkeydown = function (e) {

 if (e.keyCode == 37 ) direction = "left" ;

 if (e.keyCode == 39 ) direction = "right";

 if (e.keyCode == 38 ) direction = "up";

 if (e.keyCode == 40 ) direction = "down";

}

//定義四個方法來重繪制方塊的位置 分別有 左、右、上、下

function move_right_diamond(){

 clear_diamond();//清除以前的方塊

 init_canvas_background();//再次初始化畫布 下同

 //重新繪制小方塊的位置

 if(diamond.x + diamond.width >= canvas.width){ //判斷方塊是否已經(jīng)到達最右端

  cxt.fillStyle = "#17F705";

  cxt.fillRect(diamond.x,diamond.y,diamond.width,diamond.height);

 }else{

  diamond.x += diamond.move;

  cxt.fillStyle = "#17F705";

  cxt.fillRect(diamond.x,diamond.y,diamond.width,diamond.height);

 }

}

//其余方法類似 

6、編寫小球移動的方法以及碰壁和接觸移動小方塊反彈的方法:

反彈:小方塊的反彈,主要改變其x軸和y軸方向的速度,由于我們定義的是勻速運動,為此我們只需要改變其速度的方向。

移動:根據(jù)小球的速度和指定的移動大小來計算出新的小球坐標,之后再繪制新的小球。

反彈圖片實例:(對于觸碰墻壁反彈類似,就不多說)

小球移動的代碼:

cxt.arc(ball_impact.x,ball_impact.y,ball_impact.r,0,Math.PI * 2,true);

cxt.closePath();

cxt.fill();

ball_impact.x += ball_impact.vx * cyc /1000;//改變其坐標的位置

ball_impact.y += ball_impact.vy * cyc /1000;

7、小球擊打小方塊,小方塊消失的方法:

擊打:小球擊打小方框,主要判斷小球和小方塊的坐標位置即可。注意此處將會分別判斷y軸和x軸將小球的擊打的小方塊限定在一個區(qū)域里面。

小時:擊中當前小方塊之后改變其長寬,之后重繪小方塊即可,由于當前的小方塊的長寬都為0,即繪制之后的小方塊沒有。

圖解擊打的坐標變化:

8、判斷游失敗和成功的方法:

失敗:是要小球的掉到最低端即小球的Y坐標大于畫布的Y坐標 就是失敗;

成功:計數(shù)判斷是否消滅的小方塊數(shù)是否和指定的小方塊數(shù)相同。

if(ball_impact.y + ball_impact.r >= canvas.height){

 cxt.fillStyle = "#FC0000";

 cxt.font = "bold 50px 微軟雅黑";

 cxt.fillText("FAILURE!",30,250);

 diamond.move = 0;//不能移動板塊

}

//判斷是否與所有的小方塊數(shù)相等

if(count_sum == 90){

 cxt.fillStyle = "#FCF205";

 cxt.font = "bold 50px 微軟雅黑";

 cxt.fillText("SUCCESS!",20,250);//在畫布上書寫SUCCESS 

 diamond.move = 0;//不能移動板塊

 ball_impact.vx =0;

 ball_impact.vy =0;

else{

 count_sum = 0;

}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:javascript HTML5 canvas實現(xiàn)打磚塊游戲

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
一本到12不卡视频在线dvd| 日韩视频国产视频| 亚洲综合欧美日韩| 一区二区在线免费观看| 亚洲精品美女久久久久| 国产一区二区三区在线观看免费视频 | 亚洲特色特黄| 国产欧美日韩视频一区二区三区| 欧美日本一道本| 欧美电影在线观看完整版| 久久资源在线| 免费久久精品视频| 久热爱精品视频线路一| 久久久久久久国产| 欧美在线你懂的| 亚洲精品乱码久久久久久按摩观| 国产亚洲精品bt天堂精选| 欧美揉bbbbb揉bbbbb| 久久综合九色九九| 久久国产欧美| 久久亚洲综合网| 美女福利精品视频| 久久久久久久综合| 亚洲一区二区成人在线观看| 亚洲精品色婷婷福利天堂| 一区二区视频欧美| 精品91免费| 国产亚洲免费的视频看| 欧美日本免费| 欧美日本精品| 国产精品久久久久9999高清| 国产偷自视频区视频一区二区| 国产亚洲一区在线| 亚洲激情偷拍| 一区二区av在线| 午夜精品久久久久久久蜜桃app| 亚洲一区高清| 午夜久久福利| 亚洲男人av电影| 亚洲免费在线看| 亚洲视频碰碰| 香蕉av福利精品导航| 性感少妇一区| 香蕉久久精品日日躁夜夜躁| 亚洲男人天堂2024| 欧美诱惑福利视频| 久久久天天操| 蜜桃av综合| 欧美四级在线| 亚洲国产精品一区二区www| 欧美黄免费看| 亚洲理伦电影| 久久久欧美一区二区| 欧美黄色一区二区| 在线看不卡av| 美女91精品| 1000精品久久久久久久久| 99视频一区二区| 免费观看久久久4p| 国产在线视频欧美| 欧美日产一区二区三区在线观看| 狠狠色狠狠色综合日日tαg| 国产精品日日摸夜夜添夜夜av| 欧美性开放视频| 国产精品女人毛片| 亚洲第一天堂无码专区| 亚洲一区二区免费视频| 久久综合伊人77777| 欧美日韩国产一区二区三区| 欧美劲爆第一页| 欧美激情按摩在线| 欧美日韩一区二区三区免费| 久久国产黑丝| 久久久亚洲高清| 欧美理论大片| 欧美女同在线视频| 午夜视频精品| 一个色综合av| 亚洲国产欧美在线人成| 亚洲一区二区三区高清| 亚洲国内欧美| 一区二区三区四区精品| 欧美丝袜第一区| 欧美日韩1234| 99国产精品一区| 久久久青草婷婷精品综合日韩| 欧美资源在线| 欧美肉体xxxx裸体137大胆| 好看的日韩av电影| 亚洲午夜一区二区| 欧美大片va欧美在线播放| 国产精品毛片大码女人| 91久久久久久国产精品| 在线观看91精品国产入口| 亚洲欧美日本国产有色| 欧美激情一区在线| 黄色日韩在线| 小嫩嫩精品导航| 久久美女性网| 欧美日韩国产精品| 国产手机视频精品| 亚洲第一在线综合网站| 亚洲欧美国产日韩中文字幕| 欧美二区视频| 国产亚洲永久域名| 日韩视频国产视频| 午夜视频在线观看一区| 欧美在线三级| 免费日本视频一区| 欧美日韩中文字幕日韩欧美| 国产日韩欧美在线一区| 国产最新精品精品你懂的| 国产亚洲午夜高清国产拍精品| 国产美女精品一区二区三区| 99国产精品| 久久激情五月婷婷| 久久综合九色综合欧美就去吻| 篠田优中文在线播放第一区| 校园春色国产精品| 国产精品手机视频| 欧美日韩一区在线播放| 国产午夜精品久久久久久免费视| 欧美在线观看视频| 国产精品v亚洲精品v日韩精品| 国精品一区二区三区| 在线午夜精品| 国产精品成人午夜| 黄网站色欧美视频| 亚洲综合视频在线| 亚洲人在线视频| 亚洲欧美精品| 国产精品久久77777| 国产精品一二三| 亚洲自拍电影| 蜜桃av久久久亚洲精品| 久久性色av| 欧美激情va永久在线播放| 日韩亚洲一区二区| 久久精品国产免费看久久精品| 欧美高清视频一二三区| 免播放器亚洲一区| 亚洲精品日韩综合观看成人91| 欧美在线不卡| 欧美性色综合| 久久xxxx精品视频| 欧美阿v一级看视频| 好吊日精品视频| 免费视频亚洲| 国产综合激情| 久久综合狠狠| 欧美国产综合视频| 狠狠色伊人亚洲综合网站色| 亚洲欧美日韩系列| 一本一本久久a久久精品综合妖精| 国产精品theporn88| 亚洲茄子视频| 久久深夜福利免费观看| 日韩视频一区二区三区在线播放免费观看| 亚洲色无码播放| 免费高清在线视频一区·| 欧美日韩国产在线一区| 一区二区三区久久网| 免费短视频成人日韩| 欧美精品亚洲精品| 亚洲综合电影| 蜜臀av在线播放一区二区三区| 在线成人中文字幕| 老司机一区二区| 久久精品国产亚洲高清剧情介绍| 欧美性猛交一区二区三区精品| 日韩午夜在线观看视频| 国产一区亚洲一区| 欧美经典一区二区三区| 国产视频一区欧美| 欧美色网在线| 美女网站久久| 国产亚洲在线| 国产九九视频一区二区三区| 欧美fxxxxxx另类| 欧美日韩不卡在线| 亚洲欧美不卡| 国产亚洲二区| 亚洲人成人一区二区在线观看| 亚洲激情在线| 国产喷白浆一区二区三区| 免费观看成人www动漫视频| 亚洲欧美中文日韩v在线观看| 亚洲东热激情| 欧美视频一区二区三区…| 欧美性猛交99久久久久99按摩| 久久精品亚洲一区| 国产人久久人人人人爽| 国产精品欧美日韩一区| 久久躁日日躁aaaaxxxx| 91久久精品日日躁夜夜躁欧美 | 国产精品久久久999| 久久久久九九九| 久久久久国产一区二区三区| 亚洲精品视频一区| 在线观看视频一区二区|