我现在需要你的帮助。我制作了一些碰撞系统,它在左右两侧碰撞时效果很好。但!我不知道如何制作顶部和底部。我很感激你的帮助。
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是底部。< / p>