国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript實現(xiàn)一個空中避難的小游戲

2019-11-19 16:25:00
字體:
供稿:網(wǎng)友

前言

最近在看js中的事件,之前也一直有用到事件,用到最多的就是onclick單擊事件,還有填寫表單信息時的用到的onfocus聚焦時間,和onblur事件,最近看到了onmousemove鼠標(biāo)移動事件,覺得很神奇,就突然很想寫一個小游戲,用到了setInterval函數(shù)。游戲的功能也很簡單,就是天上掉紙片,小人兒要不停的躲,一旦紙片和小人兒相撞,就會game over!

代碼如下:

<!DOCTYPE html><html><head><style> .move {  margin-top: 0px;  width:40px;  height: 50px;  background: #ff0;  position:absolute;  z-index: 999; } .self {  width:40px;  height: 50px;  background: #f0f;  position:absolute;  margin-top: 600px;  margin-left: 643px;  z-index: 999; } .self img {  width:40px;  height: 50px;  border-radius: 20px; }</style><title>圖圖up up</title> </head><body onload="moveDiv()"> <!--12個div就是空中的小紙片--> <div class="move" style="margin-left:100px"> </div> <div class="move" style="margin-left:200px"> </div> <div class="move" style="margin-left:300px"> </div> <div class="move" style="margin-left:400px"> </div> <div class="move" style="margin-left:500px"> </div> <div class="move" style="margin-left:600px"> </div> <div class="move" style="margin-left:700px"> </div> <div class="move" style="margin-left:800px"> </div> <div class="move" style="margin-left:900px"> </div> <div class="move" style="margin-left:1000px"> </div> <div class="move" style="margin-left:1100px"> </div> <div class="move" style="margin-left:1200px"> </div> <!--小人兒用一張圖片代替--> <div id="self" class="self">  <img src="images/tutu.jpg"> </div></body><script type="text/javascript"> var alldiv = document.querySelectorAll('.move'); var selfdiv = document.getElementById("self"); var timer, flag; function moveItem() {  //用隨機(jī)數(shù)決定哪一張紙片掉落  for (var j = 0; j < Math.round(Math.random()*11); j++)   {   var i = Math.round(Math.random()*11);   alldiv[i].style.top = alldiv[i].offsetTop + 20 +"px";   //掉落過程中改變紙片的顏色   var rgb='rgb('+Math.floor(Math.random()*255)+','      +Math.floor(Math.random()*255)+','      +Math.floor(Math.random()*255)+')';   alldiv[i].style.backgroundColor = rgb;   if (alldiv[i].offsetTop >= 600)   {    alldiv[i].style.top = "50px"; //當(dāng)紙片落到底部,又重新回到起點   }  } } function moveDiv() {  timer = setInterval(moveItem,20); //每隔20ms掉落  flag = setInterval(meeting,1); //間隔1ms判斷是否相撞 } var selfdiv = document.getElementById("self"); selfdiv.onmousedown = function(e) //鼠標(biāo)點擊小人兒開始移動 {  document.onmousemove = function(e) //小人兒跟著鼠標(biāo)移動  {   if (e.clientY > 600)   {    selfdiv.style.marginTop = "600px"; //如果到達(dá)屏幕底部就不再往下   }   else if(e.clientX > 1300)   {    selfdiv.style.marginLeft = "1300px"; //到達(dá)最右部就回到不再往右   }   else   {    //小人兒的位置始終等于鼠標(biāo)的位置    selfdiv.style.marginTop = e.clientY + "px";    selfdiv.style.marginLeft = e.clientX + "px";   }  } } function meeting() {  for (var i = 0; i < alldiv.length; i++)  {   //判斷是否相撞   if (Math.abs(alldiv[i].offsetTop-selfdiv.offsetTop) <= 50 &&     Math.abs(alldiv[i].offsetLeft-selfdiv.offsetLeft) <= 40)   {    clearInterval(flag);    clearInterval(timer);    alert("一不小心撞到了!!!游戲結(jié)束");   }  } }</script></html>

效果如圖:

全部的代碼就這些,動圖做的效果不是很好,第一次做動圖,發(fā)現(xiàn)有很多在線網(wǎng)站都可以,做起來很簡單,還是免費的,開心!!!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淄博市| 大石桥市| 班玛县| 阳谷县| 当雄县| 青浦区| 广昌县| 郧西县| 洱源县| 马公市| 深水埗区| 鹿泉市| 翁源县| 旺苍县| 金溪县| 新密市| 柘城县| 五家渠市| 武夷山市| 若羌县| 崇州市| 井冈山市| 银川市| 微博| 彩票| 芷江| 枣庄市| 贵阳市| 砚山县| 高碑店市| 韶关市| 肇庆市| 子洲县| 凤凰县| 桦南县| 苏州市| 昌图县| 辰溪县| 宁晋县| 巴南区| 浦北县|