如何计算枪口的坐标

时间:2017-06-02 14:02:03

标签: math geometry love2d

一天中的任何时间都好!我有一些精灵:

enter image description here

A点的坐标为Actor.x; Actor.y

AB length = 96
BC length = 86
AC length = 42

All calculations are approximate, I made it with help the ruler in Photoshop.

Sprite始终朝向鼠标,角度(以弧度表示)存储在Actor.direction变量中。我用比例0.3绘制精灵。

所有针对鼠标的子弹(即Bullet.direction == Actor.direction)。我需要在B点创建项目符号。如何以任何角度计算B点的坐标?

UPD

如果我将在坐标中创建项目符号:

x = Actor.x + 96 * math.cos(Actor.direction) * 0.3
y = Actor.y + 96 * math.sin(Actor.direction) * 0.3

我明白了:

enter image description here

请原谅我糟糕的英语!它不是我的母语。提前谢谢!

1 个答案:

答案 0 :(得分:1)

cs = math.cos(Actor.direction)
sn = math.sin(Actor.direction)

点B将从A移位

dx = - 42 * sn + 86 * cs
dy = 42 * cs + 86 * sn

也许你需要在42s之前改变标志

(我没有说明比例)