我目前正在为iPhone开发一款简单的Pong游戏。目前使用CGRectIntersectsRect进行碰撞检测以及当球击中球拍时球的偏转,我只是将球速乘以-1(因此反转球的方向)。
我要做的是做到这样,当球击中球拍时,它会检查球离球拍中心的距离是多少,并且当球离球的距离越远时,球的距离越大桨的中心。 (例如,在这种情况下,无论球从哪里来,球都会向后偏转90度,只要它击中桨的中心)
我怎么想这样做?
非常感谢任何帮助。
谢谢。
答案 0 :(得分:0)
您给我们的是参考点(中心和边缘)。我们需要的是用于测量新角度的参考线。另外,你所说的并不一致,因此没有意义。
我猜你所问的是一种计算出射角的方法,这只是它在桨上击中的函数。如果它碰到桨叶中心,则无论进入角度如何,它都会以与桨叶成90度的角度反弹。如果它碰到桨叶边缘,那么无论入射角度如何,它都会以与桨叶成45度的角度反弹。
如果是这样,那么下面应该这样做(这不是唯一的方法)。
假设:桨形是一个矩形。
theta = pi / 2 - asin(D / K);
这应该给你一个相对于桨的角度。
希望这有帮助。