亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年06月06日 10:22:32   作者:塞上江南果  
最近利用Javascript實(shí)現(xiàn)了一個小游戲,覺著還不錯,所以分享給大家,下面這篇文章主要給大家介紹了利用JavaScript實(shí)現(xiàn)一個空中避難的小游戲的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。

前言

最近在看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)紙片落到底部,又重新回到起點(diǎn)
   }
  }

 }

 function moveDiv()
 {
  timer = setInterval(moveItem,20); //每隔20ms掉落
  flag = setInterval(meeting,1); //間隔1ms判斷是否相撞
 }

 var selfdiv = document.getElementById("self");
 selfdiv.onmousedown = function(e) //鼠標(biāo)點(diǎn)擊小人兒開始移動
 {
  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)站都可以,做起來很簡單,還是免費(fèi)的,開心?。?!

總結(jié)

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

相關(guān)文章

  • 深入淺析javascript中的作用域(推薦)

    深入淺析javascript中的作用域(推薦)

    js作用域是前端開發(fā)必掌握的基礎(chǔ)知識。這篇文章主要介紹了javascript中的作用域的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • 詳解webpack的proxyTable無效的解決方案

    詳解webpack的proxyTable無效的解決方案

    這篇文章主要介紹了詳解webpack的proxyTable無效的解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題詳解

    uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題詳解

    這次項(xiàng)目中做了一個圖片上傳,要求是大于2MB的就壓縮成2MB一下的再上傳,下面這篇文章主要給大家介紹了關(guān)于uni-app開發(fā)微信小程序之H5壓縮上傳圖片的問題,需要的朋友可以參考下
    2023-03-03
  • redux處理異步action解決方案

    redux處理異步action解決方案

    這篇文章主要介紹了redux處理異步action解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳解html-webpack-plugin用法全解

    詳解html-webpack-plugin用法全解

    這篇文章主要介紹了詳解html-webpack-plugin用法全解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 動態(tài)生成的IFRAME,設(shè)置SRC時的問題解決分析

    動態(tài)生成的IFRAME,設(shè)置SRC時的問題解決分析

    動態(tài)生成的IFRAME,設(shè)置SRC時的,不同位置帶來的影響。 以下所說的是在IE7下運(yùn)行的。IE6下也是同樣。 在這個blog中,直接點(diǎn)擊運(yùn)行代碼,和把下面代碼保存到為網(wǎng)頁在運(yùn)行(以本地文件或域名訪問),效果不一樣。 先看例子:
    2008-04-04
  • JS實(shí)現(xiàn)控制表格行文本對齊的方法

    JS實(shí)現(xiàn)控制表格行文本對齊的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)控制表格行文本對齊的方法,涉及javascript操作表格樣式的相關(guān)技巧,需要的朋友可以參考下
    2015-03-03
  • 小程序開發(fā)基礎(chǔ)之view視圖容器

    小程序開發(fā)基礎(chǔ)之view視圖容器

    這篇文章主要介紹了小程序開發(fā)基礎(chǔ)之view視圖容器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • javascript獲取所有同類checkbox選項(xiàng)(實(shí)例代碼)

    javascript獲取所有同類checkbox選項(xiàng)(實(shí)例代碼)

    javascript獲取所有同類checkbox選項(xiàng)的簡單實(shí)例。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • springMvc 前端用json的方式向后臺傳遞對象數(shù)組方法

    springMvc 前端用json的方式向后臺傳遞對象數(shù)組方法

    今天小編就為大家分享一篇springMvc 前端用json的方式向后臺傳遞對象數(shù)組方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論