私は今あなたの助けが必要です。左右からの衝突でうまく機能する衝突システムを作成しました。しかし!上下の作り方がわかりません。ここで助けていただければ幸いです。
function collided(a, b) {
if((((a['y'] + a['height']) >= b['y']) && ((a['y'] + a['height']) <= b['y'] + b['height'])) && (((a['x'] + a['width']) >= b['x']) && ((a['x'] + a['width']) <= (b['x'] + b['width']))))
return 1;
else if(((a['y'] + a['height']) >= (b['y'])) && ((a['y'] + a['height']) <= (b['y'] + b['height'])) && ((a['x'] == (b['x'] + b['width']))))
return 2;
// i need help with this (top collision) and need some bottom collision
else if((b['y'] < (a['y'] + a['height'] + 5)) && ((b['x']) < (a['x'] + a['width'])) && ((a['x']) < (b['x'] + b['width'])))
return 3;
}
したがって、戻り値 1は左からの衝突 ( bオブジェクトから左に、滞在オブジェクトのように)、2 は右、3 は上、4 は下です。