擅长:python、mysql、java
<p>恭喜你!你已经为自己发现了罪恶和罪恶。在</p>
<p>拿出一张纸,标记两个点:一个是光标位置(=目标),另一个是子弹的电流(起始?)位置。在</p>
<p>现在在他们之间划一条线。这一行的长度是你的代码的.d(我想是距离)。在</p>
<p>然后从其中一个点画一条水平线,足够远,使其正好位于另一个点的上方或下方。它的长度就是你的rel_x(在微积分中,你称之为“dx”)。在</p>
<p>然后画一条垂直线来完成一个三角形,这个三角形的长度是你的相对长度(或“dy”)。在</p>
<p>我不知道你为什么要用到你称之为“角度”和“角度”的变量。一旦发射,角度总是一样的,就像子弹一样(除非目标在移动,而且你在飞行一条追击航线,就像一枚寻的导弹;要进行“纯追击”,你只需每转重新计算航向,所以它总是指向目标的位置)。在</p>
<p>下一步你要做的就是移动多远。这将是d的一部分。如果你的速度大于d,你覆盖了d的全部,然后到达;否则你只覆盖了d的一小部分。所以你想要的是:</p>
<p>if(speed>;d):_d的分数_=1
其他:分数_d=速度/天</p>
<p>现在你要做的就是注意,如果你要走到目标的1/n方向,你也要覆盖x和y距离的1/n(如果你看不清楚的话,盯着纸看的时间会更长)。在</p>
<p>但是你已经有了总的x和y距离(rel\x and rel\y)。你只需将每个数乘以除以d的分数,就可以知道沿着这个方向移动了多远。然后用这些数量更新子弹的位置。在</p>
<p>您将在trig中了解到sin()只是“对边”(三角形的垂直边)的长度除以斜边的长度(d)。cos()就是“相邻”(水平面)的长度除以斜边的长度。所以你已经有效地计算了正弦和余弦。在</p>
<p>希望这能让事情变得更清楚。在</p>
<p>-史蒂夫</p>