1

我正在制作一个 jquery 游戏,我有一个关卡作为背景,而不是每个关卡都有很多代码行检查它在哪里,有没有办法检查两种颜色是否接触。所以背景和人物。

我宁愿不使用插件。

jquery 用于检查它是否触及一行:

if(level === 1) {
    if(c.css('left') === '90px') {
        c.css({'left': '115px', 'bottom': '94px'});
    }
}

http://jsfiddle.net/Hive7/KPyxN/2/

4

1 回答 1

2
 function collision($div1, $div2) {
      var x1 = $div1.offset().left;
      var y1 = $div1.offset().top;
      var h1 = $div1.outerHeight(true);
      var w1 = $div1.outerWidth(true);
      var b1 = y1 + h1;
      var r1 = x1 + w1;
      var x2 = $div2.offset().left;
      var y2 = $div2.offset().top;
      var h2 = $div2.outerHeight(true);
      var w2 = $div2.outerWidth(true);
      var b2 = y2 + h2;
      var r2 = x2 + w2;

      if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
      return true;
    }

JSFIDDLE 演示

于 2013-08-29T13:38:16.643 回答