衝突がわかりません。その背後にある考え方は知っていますが、想像するのは非常に難しく、書き留めようとしますがうまくいきません。これは私が得た中で最も遠いものであり、機能していますが、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;
}