javascript判断碰撞检测

javascript判断碰撞检测

点与矩形的碰撞检测

 /**
     *
     * @param x1 点
     * @param y1 点
     * @param x2 矩形view x
     * @param y2 矩形view y
     * @param w  矩形view 宽
     * @param h  矩形view 高
     * @return
     */
    function isCollsion(x1,y1,x2,y2,w,h) {
        if (x1 >= x2 && x1 <= x2 + w && y1 >= y2 && y1 <= y2 + h) {
            console.log('碰撞');
            return true;
        }
        console.log('没碰撞');
        return false;
    }

矩形与矩形的碰撞检测

 /**
     * 检测两个矩形是否碰撞
     * @param x1  矩形1view x
     * @param y1  矩形1view y
     * @param w1  矩形1view 宽
     * @param h1  矩形1view 高
     * @param x2  矩形2view x
     * @param y2  矩形2view y
     * @param w2  矩形2view 宽
     * @param h2  矩形2view 高
     * @return
     */
        function isCollsionWithRect(x1,y1,w1,h1,x2,y2,w2,h2) {
        if (x1 >= x2 && x1 >= x2 + w2) {
            console.log('没碰撞');
            return false;
        } else if (x1 <= x2 && x1 + w1 <= x2) {
            console.log('没碰撞');
            return false;
        } else if (y1 >= y2 && y1 >= y2 + h2) {
            console.log('没碰撞');
            return false;
        } else if (y1 <= y2 && y1 + h1 <= y2) {
            console.log('没碰撞');
            return false;
        }
        console.log('碰撞');
        return true;
    }

原创文章如转载,请注明本文链接: http://newmiracle.cn/?p=1835

发表评论

电子邮件地址不会被公开。 必填项已用*标注