-1

我无法理解碰撞。我知道它背后的想法,但很难想象,我试着把它写下来,但它不起作用。这是我所获得的最远距离,虽然它有效,但它并非 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;   
}
4

1 回答 1

0

Your code is out of context and it's hard to know exactly what you are trying to do. If you are using a grid, I would say that you should check the spaces adjacent to the object you are detecting collisions for. If you post more code, perhaps I can help more.

var size = 5;//whatever you want 
var x = new Array(size); 
for (var i = 0; i < 10; i++) {
 x[i] = new Array(size); 
}
于 2013-07-30T14:50:44.570 回答