我无法理解碰撞。我知道它背后的想法,但很难想象,我试着把它写下来,但它不起作用。这是我所获得的最远距离,虽然它有效,但它并非 100% 完美无缺。这是一个四处移动的正方形。图片马里奥,但一个正方形。我正在尝试查看左侧、右侧、下方或上方是否有块。
function collide(){
var left = avatarX;
var top = avatarY;
var right = avatarX + 50;
var bottom = avatarY + 50;
for(var i = 0; i < board.length;i+=4){
var bleft = board[i];
var btop = board[i+1];
var bright = board[i + 2] + board[i];
var bbottom = board[i + 3] + board[i+1];
if(btop <= bottom && bleft <= left && bright >= right){
avatarY = board[i + 1] - 50;
return true;
}
}
return false;
}