• 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>

  • 相关阅读:
    开心网注册详解和邀请码发放
    3COM 905TX 配置
    SQL使用
    JDBC的使用
    kiko日记几个月以来工作总结2010 1124
    talk about the history of JAZZ
    这几个月的工作任务
    工作间期的不足
    转: mac使用nvm管理多个版本node
    负载均衡与ssl证书
  • 原文地址:https://www.cnblogs.com/yuan010101/p/6011780.html
Copyright © 2020-2023  润新知