本文实例为大家分享了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;//黄块下边线 如果(r1r2 | | 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>
碰撞检测原理图如上:
我们检测碰撞时,发现两个div碰上检测比没碰上的检测要难,所以以没碰上作为检测条件。画上九宫格,当红色div在黄色div左边线或是右边线或是上边线或是下边线外时是永远不可能碰上的,只要这四个条件都不满足,意味着两个div相撞了,将黄块变绿。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。