基于javascript实现碰撞检测

  

本文实例为大家分享了javascript实现碰撞检测的具体代码,供大家参考,具体内容如下

        & lt; html>   & lt; head>   & lt; style>   # div1{宽度:100 px;身高:100 px;背景:红色;位置:绝对的;z - index: 2;}   # div2{宽度:100 px;身高:100 px;背景:黄色;位置:绝对的;左:230 px;前:220像素;z - index: 1;}   & lt;/style>   & lt;元http-equiv=? type”内容=" text/html;utf - 8字符集="/比;   & lt; title>无标题文档& lt;/title>   & lt; script>   窗口。οnlοad=function ()   {   var oDiv=. getelementbyid (“div1”);   var oDiv2=. getelementbyid (“div2”);      oDiv。οnmοusedοwn=function (ev)   {   var oEvent=ev | |事件;   var disX=oEvent.clientX-oDiv.offsetLeft;   var disY=oEvent.clientY-oDiv.offsetTop;      文档。οnmοusemοve=function (ev)   {   var oEvent=ev | |事件;      oDiv.style.left=oEvent.clientX-disX +“px”;   oDiv.style.top=oEvent.clientY-disY +“px”;      var l1=oDiv.offsetLeft;//红块左边线   var r1=oDiv.offsetLeft + oDiv.offsetWidth;//红块右边线   var t1=oDiv.offsetTop;//红块上边线   var b1=oDiv.offsetTop + oDiv.offsetHeight;//红块下边线      var l2=oDiv2.offsetLeft;//黄块左边线   var r2=oDiv2.offsetLeft + oDiv2.offsetWidth;//黄块右边线   var t2=oDiv2.offsetTop;//黄块上边线   var b2=oDiv2.offsetTop + oDiv2.offsetHeight;//黄块下边线      如果(r1 r2 | | b1 b2)   {   oDiv2.style.background=盎粕?   }   其他的   {   oDiv2.style.background=奥躺?   }   };      文档。οnmοuseup=function ()   {   document.οnmοusemοve=零;   document.οnmοuseup=零;   };   };   };   & lt;/script>   & lt;/head>      & lt; body>   & lt; div id=" div1 "祝辞& lt;/div>   & lt; div id=" div2 "祝辞& lt;/div>   & lt;/body>   & lt;/html>      

基于javascript实现碰撞检测

  

碰撞检测原理图如上:

  

我们检测碰撞时,发现两个div碰上检测比没碰上的检测要难,所以以没碰上作为检测条件。画上九宫格,当红色div在黄色div左边线或是右边线或是上边线或是下边线外时是永远不可能碰上的,只要这四个条件都不满足,意味着两个div相撞了,将黄块变绿。

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

基于javascript实现碰撞检测