JQuery碰撞检测

时间:2014-08-19 00:56:29

标签: javascript jquery collision

我不确定我是否在正确的轨道上,但我认为这应该有效:

    function collides(a, b) {
              return a.x < b.x + b.width &&
                a.x + a.width > b.x &&
                a.y < b.y + b.height &&
                a.y + a.height > b.y;
    }
    function handleCollisions() {
      $('#player').forEach(function(player) {
        $('#powerUp').forEach(function(powerup) {
          if(collides(player, powerup)) {
           $('#player').hide(); 
          }
        });
      });
    }    
    handleCollisions();
    }

基本上我让我的玩家在游戏中奔跑并将物体放在固定位置。当玩家与物体碰撞时,他应该消失。如果需要,我会提供一个小提琴,但我认为代码有明显的错误。有什么建议吗?

编辑:

  function collides(a, b) {
              return a.offset() < b.offset() + b.width() &&
                a.offset() + a.width() > b.offset() &&
                a.position() < b.position() + b.height() &&
                a.position() + a.height() > b.position();
    }

    function handleCollisions() {
        if (collides($('#player'), $('#powerUp'))) {
           $('#player').append("<p>collided</p>"); // hide player onCollision
          }
    }    
    handleCollisions();
    }


`

0 个答案:

没有答案