zoukankan      html  css  js  c++  java
  • js碰撞检测

    这篇文章主要介绍了JS实现判断碰撞的方法,实例分析了通过js判断实体碰撞的技巧与相关应用,需要的朋友可以参考下

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
     <head>  
      <title> demo </title>  
      <style type="text/css">  
      body{margin:0px;}  
        .main{position:relative;}  
        #f1{position:absolute; background:#FF0000; top:100px; left:100px; 200px; height:200px; z-index:999}  
        #f2{position:absolute; background:#FFFF00; top:0px; left:0px; 600px; height:150px;}  
      </style>  
     </head>  
     <body>  
     <div class="main">  
        <div id="f1"></div>  
        <div id="f2"></div>  
     </div>  
     <script type="text/javascript">  
        var o = document.getElementById("f1");  
        var d = document.getElementById("f2");  
        alert(impact(o, d)); 

        function impact(obj, dobj) {  
            var o = {  
                x: getDefaultStyle(obj, 'left'),  
                y: getDefaultStyle(obj, 'top'),  
                w: getDefaultStyle(obj, 'width'),  
                h: getDefaultStyle(obj, 'height')  
            } 

            var d = {  
                x: getDefaultStyle(dobj, 'left'),  
                y: getDefaultStyle(dobj, 'top'),  
                w: getDefaultStyle(dobj, 'width'),  
                h: getDefaultStyle(dobj, 'height')  
            } 

            var px, py; 

            px = o.x <= d.x ? d.x : o.x;  
            py = o.y <= d.y ? d.y : o.y;  
      
            // 判断点是否都在两个对象中  
            if (px >= o.x && px <= o.x + o.w && py >= o.y && py <= o.y + o.h && px >= d.x && px <= d.x + d.w && py >= d.y && py <= d.y + d.h) {  
                return true;  
            } else {  
                return false;  
            }  
        } 

        function getDefaultStyle(obj, attribute) {  
            return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]);  
        }  
     </script>  
     </body>  
    </html>

  • 相关阅读:
    将js进行到底:node学习1
    mui开发app前言(一)
    用kotlin方式打开《第一行代码:Android》之开发酷欧天气(最终版)
    用kotlin方式打开《第一行代码:Android》之开发酷欧天气(2)
    用kotlin方式打开《第一行代码:Android》之开发酷欧天气(1)
    062、如何使用flannel host-gw backend(2019-04-02 周二)
    061、flannel的连通与隔离(2019-04-01 周一)
    060、在docker中使用flannel(2019-03-29 周五)
    059、安装配置flannel(2019-03-28 周四)
    058、flannel概述(2019-03-27 周三)
  • 原文地址:https://www.cnblogs.com/yuan010101/p/6011780.html
Copyright © 2011-2022 走看看