C# 攻击/跟随我的球员
我想创建一个游戏,在这个游戏中,你试图避免物体(圆圈)攻击你。我这样做的方式:C# 攻击/跟随我的球员,c#,trigonometry,C#,Trigonometry,我想创建一个游戏,在这个游戏中,你试图避免物体(圆圈)攻击你。我这样做的方式: 首先计算对象和我之间的x_和y差(在这个代码中,AI_x是对象的x位置(AI_y:y位置),x,y是玩家的位置) 计算对象必须形成的角度,以便直接朝向播放器(使用Math.Atan(x轴之间的差值/y轴之间的差值)) -然后,我使用这些角度来计算每个刻度必须移动的x和y距离(例如distancePerTick_x=Math.Cos(角度)*速度) 但是,当我的distanceToPlayer_x(请参见代码)为正
- 首先计算对象和我之间的x_和y差(在这个代码中,AI_x是对象的x位置(AI_y:y位置),x,y是玩家的位置)
- 计算对象必须形成的角度,以便直接朝向播放器(使用Math.Atan(x轴之间的差值/y轴之间的差值)) -然后,我使用这些角度来计算每个刻度必须移动的x和y距离(例如distancePerTick_x=Math.Cos(角度)*速度)
[0..2*pi]
角度时,典型的解决方案包括Atan2
方法:
angle = Math.Atan2(distanceToPlayer_y, distanceToPlayer_x);
看
有关详细信息
angle=Math.Atan2(距离顶层,距离顶层)代码>,请注意Atan2
你说的数学是什么意思。Atan2?你能把它写成一个anwser吗?因为它对我有用,谢谢!当然,下一步是使用正弦定律“引导”自己到达目标,而不是追赶他们。这可能会让你的比赛变得太难,所以要小心。
angle = Math.Atan2(distanceToPlayer_y, distanceToPlayer_x);