我有一个会在墙壁上反弹的球。这个反弹很简单,我就是这样做的,(代码片段)
if ( x - moveSpeed < 0 ) // Ball hit left wall
xVel *= -1;
但是我也有一个玩家移动的矩形。弹跳实际上就像墙上的弹跳一样。
但是我发现当一个球的运动与图片相似时,我不可能让它再次直线上升。因此,我需要对矩形运动进行某种计算,以影响球的射出角度。矩形在移动时始终具有恒定的移动速度。这张图片显示了一个向左移动的矩形,球在其移动过程中撞击它,从而形成 90 度角。(不应该总是 90)。
对不起我的蹩脚照片,我希望它们有意义。我的数学很生疏,这就是为什么我真的需要朝着正确的方向努力。