用户:
FalseKnight查看:0 回复:0 评论:0 创建时间:2022-08-02T17:53:52
在源码编辑器中,我们常常需要侦测物体间(如:物体X与物体Y)的距离,就能用到以下代码:

但这条代码必须在物体X身上使用,无法在其他角色上侦测物体X与物体Y之间的距离,如果想要执行这种操作,就能用到以下代码:

设物体X的X和Y坐标分别是X0和Y0,物体Y的X和Y坐标分别是X1和Y1,换成数学公式就是:√[(X0-X1)^2+(Y0-Y1)^2]
这里面利用了勾股定理a^2+b^2=c^2,对比原代码还有一个优点就是该代码的小数位数长,而原代码却只有2位小数。
还有一种代码要用到三角函数,这种代码首先要让物体X执行一次:
然后有两种选择,一是:
或者:
解析:绝对值“||”是必须加的,因为X0-X1和Y0-Y1都有可能是负数。

在图中,∠ACB为直角,设点A为(X0,Y0),点B为(X1,Y1),b为(|X0-X1|),a为(|Y0-Y1|),则物体X面向的角度=∠BAC,此时
c/b=sec ∠BAC=1/cos ∠BAC,c/a=csc ∠BAC=1/sin ∠BAC。
这个方法理解难度较大,可以在网上查资料了解三角函数。
这个方法还有一个缺陷,因为源码编辑器中的三角函数库最多两位,所以还是会有偏差。
(注:物体X与物体Y代表的物体没有先后顺序)
有其他方法或本文有误的可以打在评论区,如有雷同,纯属巧合。
编者:FalseKnight