1

我现在只需要你的帮助。我制作了一些碰撞系统,在左右碰撞时效果很好。但!我不知道如何制作顶部和底部。我很感激你在这里的帮助。

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;
}

所以return 1是从左边的碰撞(从b对象左边,就像停留的那个),2 是右边,3 是顶部,4 是底部。

4

0 回答 0