狠狠色丁香婷婷久久综合麻豆,国产99久久久久久免费看,与亲女洗澡时伦了视频,一面膜胸口一面膜下免费

原生js怎么實現碰撞檢測

這篇文章給大家分享的是有關原生js怎么實現碰撞檢測的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、做網站、市中網絡推廣、成都小程序開發、市中網絡營銷、市中企業策劃、市中品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯公司為所有大學生創業者提供市中建站搭建服務,24小時服務熱線:18980820575,官方網址:www.hntjjpw.com

具體內容如下

隨手寫了個簡單的碰撞檢測的代碼。檢測box1和box2是否發生碰撞,若發生碰撞,box2顏色發生隨機改變,并反彈到隨機位置。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    .box1,.box2{
      width: 100px;
      height: 100px;
      background-color: #f00;
      position:absolute;
    }
    .box2{
      background-color: #00f;
      left: 200px;
      top: 200px;
    }
    
  </style>
</head>
<body>
  <div class="box1"></div>
  <div class="box2"></div>
</body>
<script>
  var box1=document.querySelector(".box1");
  var box2=document.querySelector(".box2");
  box1.addEventListener("mousedown",mouseHandler);
  function mouseHandler(e){
    if(e.type==="mousedown"){
      e.preventDefault();
      document.elem=this;
      document.pointX= e.offsetX;
      document.pointY= e.offsetY;
      document.addEventListener("mousemove",mouseHandler);
      this.addEventListener("mouseup",mouseHandler);
    }else if(e.type==="mousemove"){
      this.elem.style.left= e.x-this.pointX+"px";
      this.elem.style.top= e.y-this.pointY+"px";
      hitText(this.elem,box2);
    }else if(e.type==="mouseup"){
      document.removeEventListener("mousemove",mouseHandler);
      this.removeEventListener("mouseup",mouseHandler);
    }
  }
  function hitText(elem1,elem2){
    var rect1=elem1.getBoundingClientRect();
    var rect2=elem2.getBoundingClientRect();
    var ponit1={x:rect1.x,y:rect1.y};
    var ponit4={x:rect1.x+rect1.width,y:rect1.y+rect1.height};
    if(
      ponit4.x>rect2.x
        &&ponit1.x<(rect2.x+rect2.width)
        &&ponit4.y>rect2.y
        &&ponit1.y<(rect2.y+rect2.height)){
      elem2.style.backgroundColor=randomColor();
      elem2.style.left=Math.round(Math.random()*document.documentElement.clientWidth)+"px";
      elem2.style.top=Math.round(Math.random()*document.documentElement.clientHeight)+"px";
    }
  }
  function randomColor(){
    var a=Math.round(Math.random()*255);
    var b=Math.round(Math.random()*255);
    var c=Math.round(Math.random()*255);
    var color="rgb("+ a+","+b+","+c+")";
    return color;
  }
</script>
</html>

感謝各位的閱讀!關于“原生js怎么實現碰撞檢測”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

本文題目:原生js怎么實現碰撞檢測
當前URL:http://www.hntjjpw.com/article12/gepgdc.html

成都網站建設公司_創新互聯,為您提供微信公眾號面包屑導航、域名注冊、微信小程序云服務器、App開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 哈巴河县| 卫辉市| 香格里拉县| 扎兰屯市| 古蔺县| 湾仔区| 达日县| 江安县| 恩平市| 蓝田县| 惠来县| 闽侯县| 舟曲县| 潍坊市| 江达县| 凉城县| 塔城市| 京山县| 武功县| 交城县| 山东省| 浪卡子县| 阿拉善右旗| 车致| 普陀区| 崇阳县| 沾益县| 穆棱市| 铜梁县| 武邑县| 松江区| 平山县| 抚顺县| 建宁县| 辛集市| 贵定县| 南郑县| 墨江| 景泰县| 东光县| 诸暨市|