我正在用 Pygame 用 Python 编写一个游戏。
(我的显示窗口的)坐标是
( 0 , 0 )
在左上角和
(640,480)
在右下角。
角度是
0°
当指向上方时,
90°
当指向右侧时。
我有一个位于中心位置的玩家精灵,我希望枪上的炮塔指向玩家。我该怎么做?
Say,
x1
,y1
是炮塔坐标
x2
,y2
是玩家坐标
a
是角度的度量
First, math
有一个方便的atan2(denominator, numerator)
功能。通常,你会使用atan2(dy,dx)
但是因为 Pygame 相对于笛卡尔坐标翻转 y 轴(如您所知),所以您需要dy
负角,然后避免负角。 (“dy”仅表示“y 的变化”。)
from math import atan2, degrees, pi
dx = x2 - x1
dy = y2 - y1
rads = atan2(-dy,dx)
rads %= 2*pi
degs = degrees(rads)
degs
应该是你要找的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)