我不确定我是否在正确的轨道上,但我认为这应该有效:
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();
}
`