javaScript實(shí)現(xiàn)網(wǎng)頁(yè)版的彈球游戲
利用javeScript對(duì)象以及方法實(shí)現(xiàn)的網(wǎng)頁(yè)彈球游戲,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html> <head> <tilie>呼呼哈嘿的網(wǎng)頁(yè)彈球</title> </head> <body> <canvas id="canvas"width="400"height="400"></canvas> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> <script> var canv=document.getElementById("canvas"); var ctx=canv.getContext("2d"); //創(chuàng)建一個(gè)小球?qū)ο? var ball={ x: 100, y: 100, xSpeed: -5, ySpeed: -5 }; //定義繪制小球的方法 ball.draw=function(){ ctx.beginPath(); ctx.arc(this.x,this.y,10,0,Math.PI*2,false); ctx.fill(); }; //定義小球運(yùn)動(dòng)的方法 ball.move=function(){ this.x =this.x+this.xSpeed; this.y =this.y+this.ySpeed; }; //邊界判斷 ball.checkCanvas=function(panelStart,panelEnd) { if(this.x<0||this.x>400) this.xSpeed=-this.xSpeed; if(this.y<0) this.ySpeed=-this.ySpeed; if(this.y>390){ if(this.x>panelStart && this.x<panelEnd) this.ySpeed=-this.ySpeed; else{ alert("GAME OVER!!!"); this.x= 50; this.y=100; } } }; //定時(shí)功能使得小球動(dòng)起來 setInterval(function() { ctx.clearRect(0,0,400,400); ball.draw(); panel.draw(); ball.move(); ball.checkCanvas(panel.x,panel.x+panel.xSize); ctx.strokeRect(0,0,400,400); },30); //定時(shí)函數(shù),每30ms執(zhí)行一次大括號(hào)中的代碼; //創(chuàng)建擋板的對(duì)象; var panel ={ x:200, y:390, xSize: 50, ySize: 5 }; //擋板移動(dòng)方法 panel.draw=function(){ ctx.fillRect(this.x,this.y,this.xSize,this.ySize); }; //利用jquery實(shí)現(xiàn)按鍵交互; $("body").keydown(function(event) { console.log(event.keyCode); if(event.keyCode==37){ panel.x=panel.x-5; if(panel.x<0){ panel.x=0; } } if(event.keyCode==39){ panel.x=panel.x+5; if(panel.x>400-50){ panel.x=350; } } } ); </script> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript簡(jiǎn)單編程實(shí)例學(xué)習(xí)
在本篇文章里小編給大家整理的是關(guān)于JavaScript簡(jiǎn)單編程實(shí)例學(xué)習(xí)內(nèi)容,有興趣的朋友們可以參考下。2020-02-02JS實(shí)現(xiàn)websocket長(zhǎng)輪詢實(shí)時(shí)消息提示的效果
這篇文章主要介紹了JS實(shí)現(xiàn)websocket長(zhǎng)輪詢實(shí)時(shí)消息提示的效果的相關(guān)資料,需要的朋友可以參考下2017-10-10'webpack-dev-server'?不是內(nèi)部或外部命令也不是可運(yùn)行的程序?或批處理文件的最
這篇文章主要介紹了'webpack-dev-server'?不是內(nèi)部或外部命令也不是可運(yùn)行的程序?或批處理文件的最新解決方法,文中給大家補(bǔ)充介紹了webpack-dev-server的介紹與用法,需要的朋友可以參考下2023-02-02window.addeventjs事件驅(qū)動(dòng)函數(shù)集合addEvent等
addEvent()、removeEvent()、handleEvent()、fixEvent()[2008-02-02淺析Javascript中bind()方法的使用與實(shí)現(xiàn)
下面小編就為大家?guī)硪黄獪\析Javascript中bind()方法的使用與實(shí)現(xiàn)。小編覺得挺2016-05-05javascript實(shí)現(xiàn)簡(jiǎn)單下拉菜單效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)簡(jiǎn)單下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一2022-08-08uniapp獲取當(dāng)前位置及檢測(cè)授權(quán)狀態(tài)效果
這篇文章主要介紹了uniapp獲取當(dāng)前位置及檢測(cè)授權(quán)狀態(tài)效果,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04