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

首頁 > 編程 > JavaScript > 正文

js實現碰撞檢測特效代碼分享

2019-11-20 08:44:25
字體:
來源:轉載
供稿:網友

自己做了碰撞檢測的封裝,先看下實例demo,在看封裝

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>碰撞檢測</title> <style type="text/css">  *{  margin: 0;  padding: 0;  }  #divA,#divB{  width: 200px;  height: 200px;  background-color: purple;  font-size: 50px;  line-height: 200px;  text-align: center;  position: absolute;  color: #fff;  }  #divA{  left: 30px;  top: 30px;  z-index: 5;  }  #divB{  left: 300px;  top: 300px;  } </style> </head> <body> <div id="divA">A</div> <div id="divB">B</div> </body> <script type="text/javascript"> var divA = document.getElementById("divA"); var divB = document.getElementById("divB");   divA.onmousedown = function (e) {    var event1 = window.event || e;      var startX = event1.clientX;    var startY = event1.clientY;    document.onmousemove = function (j) {    var event2 = window.event || j;    var endX = event2.clientX;  var endY = event2.clientY;    divA.style.left = divA.offsetLeft + (endX - startX) + "px";  divA.style.top = divA.offsetTop + (endY - startY) + "px";    startX = endX;  startY = endY;    if (isCrash(divA,divB) == true) {      divA.style.backgroundColor = "red";  } else{      divA.style.backgroundColor = "purple";  };  } }   divA.onmouseup = function () {    document.onmousemove = null; }   function isCrash (obj1,obj2) {    var boolCrash = true;    var left1 = obj1.offsetLeft;    var right1 = obj1.offsetLeft + obj1.offsetWidth;    var top1 = obj1.offsetTop;    var bottom1 = obj1.offsetTop + obj1.offsetHeight;    var left2 = obj2.offsetLeft;    var right2 = obj2.offsetLeft + obj2.offsetWidth;    var top2 = obj2.offsetTop;    var bottom2 = obj2.offsetTop + obj2.offsetHeight;      if (right1 > left2 && left1 < right2 && bottom1 > top2 && top1 < bottom2) {  boolCrash = true;  } else{  boolCrash = false;  }  return boolCrash; }  </script></html>

函數封裝

 function isCrash (obj1,obj2) {    var boolCrash = true;//假設true為碰撞    var left1 = obj1.offsetLeft;    var right1 = obj1.offsetLeft + obj1.offsetWidth;    var top1 = obj1.offsetTop;    var bottom1 = obj1.offsetTop + obj1.offsetHeight;   var left2 = obj2.offsetLeft;    var right2 = obj2.offsetLeft + obj2.offsetWidth;    var top2 = obj2.offsetTop;    var bottom2 = obj2.offsetTop + obj2.offsetHeight;      if (right1 > left2 && left1 < right2 && bottom1 > top2 && top1 < bottom2) {  boolCrash = true;  } else{  boolCrash = false;  }  return boolCrash; }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平陆县| 武汉市| 阿拉善右旗| 贺兰县| 寿光市| 突泉县| 威远县| 静安区| 阜康市| 福安市| 增城市| 临高县| 什邡市| 通城县| 罗平县| 威信县| 枣阳市| 阳春市| 高邮市| 承德市| 崇信县| 榆社县| 湘潭县| 邳州市| 六盘水市| 西丰县| 长沙市| 元阳县| 正蓝旗| 乌拉特前旗| 双桥区| 威远县| 遂川县| 富源县| 吉水县| 武宁县| 麻城市| 林周县| 岐山县| 乌鲁木齐县| 邹平县|