如何从初始点和另一个点计算方向?

我正在做一个简单的游戏,我从屏幕上的某个点(A)拍摄东西。

我点击屏幕并从初始点(A)到点击点(B)发射弹丸。

但是我希望弹丸沿着同一条路线移动,飞出屏幕边界。

我如何计算与这两点相同的点,但距离更远?

这是一个简单的math,但我无法弄清楚。

如果A和B都是2D向量,那么…

direction = normalize(B - A) any point on the line = direction * distance + A 

或者你可以采取normalize(B - A) * speed并添加到射弹的位置每一帧。

线的方程是y=mx+b其中m是斜率, b是偏移量, xy是variables(网格上的坐标)。

为了从2点得到这个方程,可以使用点斜率公式 :

 y - Ay = m(x - Ax) 

要计算斜率m ,需要计算y值在x值变化上的变化:

 (By-Ay)/(Bx-Ax) = m 

要获得偏移量b ,您需要插入斜率并简化公式:

 y = m*x - m*Ax + Ay 

所以b = m*Ax + Ay

在你有mb ,你有这条线的方程。 插入x和y值,它将在该行。