[我正在完成一个教程,以制作旧的街机游戏Breakout-屏幕底部有一个桨,目标是将移动的球偏转到屏幕顶部的一系列块中。
计算反弹效果的代码是:
ball.dx = ball.speed * Math.sin(angle);
ball.dy = - ball.speed * Math.cos(angle);
黄色圆圈代表球:
我将正弦和余弦理解为斜边的比率;我似乎仍然无法确切地了解它们如何用于计算反弹角。谁能解释给定角度和速度值的结果数如何在反弹时产生球的方向性?我觉得我缺少一个简单的概念难题。
这是向量相加-添加的X和Y向量为您提供新的速度值。为了更轻松地了解正弦和余弦在这里的工作方式,以天使= 0度为例。球直线下降,应该反弹回去: