//没登陆

欢迎您来到凯恩之角,奈非天!

帖子:3764

符文:396

跳转到指定楼层
1#
发表于 2019-9-17 00:22:28 |只看该作者 |倒序浏览 来自:北京
本帖最后由 絕對水餃 于 2019-9-17 00:30 编辑

首先附上一张老图

161157w0mzw87kyh4t4z88.jpg


很久以前写过传送后陨石相对位置计算公式

不过这只能解决屏幕坐标问题,最近仙林大佬提出可能需要游戏坐标与屏幕坐标的转换,所以研究了一番,
以下是换算公式:

BiLi={16,9}——屏幕分辨率比例
H=96235
Xo=32768——人物中心 X 坐标
Yo=30700——人物中心 Y 坐标
X,Y 为位移前陨石坐标
ShenMuX,ShenMuY 为位移前神目坐标
Yo_M=100*(65535-Yo)/(65535+Yo)——人物脚底距离屏幕下沿码数
X_M=4*(X-Xo)/(65535+Y)*40*BiLi[1]/BiLi[2]*9/16——当前陨石位置 X 轴码数
Y_M=100*(65535-Y)/(65535+Y)-100*(65535-Yo)/(65535+Yo)——当前陨石位置 Y 轴码数
ShenMuX_M=4*(ShenMuX-Xo)/(65535+ShenMuY)*40*BiLi[1]/BiLi[2]*9/16——当前神目位置 X 轴码数
ShenMuY_M=100*(65535-ShenMuY)/(65535+ShenMuY)-100*(65535-Yo)/(65535+Yo)——当前神目位置 Y 轴码数
YunShiX_M=X_M-ShenMuX_M——跑神目后陨石相对位置 X 轴码数
YunShiY_M=Y_M-ShenMuY_M——跑神目后陨石相对位置 Y 轴码数
YunShiY=65535*(100-YunShiY_M-Yo_M)/(100+YunShiY_M+Yo_M)——跑神目后陨石相对位置 Y 坐标
YunShiX=YunShiX_M*(65535+YunShiY)/40/4*BiLi[2]/BiLi[1]*16/9+Xo——跑神目后陨石相对位置 X 坐标
M=(YunShiX_M^2+YunShiY_M^2)^(1/2)——跑神目后陨石相对位置距离人物脚底码数

若是没有具体鼠标位置,只有鼠标与人物脚底角度 α 和所需要的码数 M',则可以通过三角函数计算出
X_M=cos α * M'
Y_M=sin α * M'
其中 α 可以根据当前鼠标位置 (X',Y') 得出
tan α=(Y'-Yo)/(X'-Xo)
之后带入计算即可算出角度 α 时距离人物 M' 码的鼠标位置

几何模型(侧视图)
幻灯片1.png

其中 P 为游戏默认的观察者位置,FB 为屏幕 45° 相交于游戏地面B点
O 为人物脚底在屏幕 Y 轴位置,M 为人物脚底在游戏 Y 轴位置
Q 为任意鼠标位置 (x,y) 在屏幕 Y 轴 AB 上的投影,N 为鼠标在游戏 Y 轴位置
已知 AF=FB,PB=PF,BC=100 码,FQ=y,求 MN 之间的码数

公式推导
X_M 参考游戏坐标偏移计算公式中的图即可得出

Y_M=MN=NB-MB——Y 轴码数
NB/PA=BQ/AQ
其中 PA=BC=100 码,AQ=65535+y,BQ=65535-y

思路总结
首先计算出鼠标位置在 X,Y 轴上的投影码数,平方和开跟即可得出鼠标距离人物码数
若有多次位移或传送+陨石此类情况,则分别计算出每个步骤在 X,Y 轴上的投影码数,相加后平方和开跟即可
头像被屏蔽

帖子:256

符文:3

2#
本帖最后由 微软肉肉 于 2019-9-17 00:35 编辑

第一次与大佬那么近
但我还是决定先开结论
虽然看完结论还是不知道是什么,又看了遍全文,表示依然迷茫
大概这就是我与大佬的差距
发表于 2019-9-17 00:26:39 |只看该作者 来自:浙江

帖子:480

符文:705

3#
先当马来人,等到哪天有兴趣改双黑宏再仔细研究研究
发表于 2019-9-17 00:45:13 |只看该作者 来自:湖北
别和zz对线

帖子:1182

符文:42

4#
打字的 有详细说明吗
发表于 2019-9-17 00:48:14 来自凯恩之角App |只看该作者 来自:广东

帖子:1749

符文:75

5#
不错,很好的技术帖,可惜看不懂也学不来。
发表于 2019-9-17 02:21:19 来自凯恩之角App |只看该作者 来自:福建

帖子:31

符文:13

6#
看起来不错
发表于 2019-9-17 05:34:11 来自凯恩之角App |只看该作者 来自:山东

帖子:25725

符文:2982

7#
前排          学习
发表于 2019-9-17 07:08:18 来自凯恩之角App |只看该作者 来自:重庆

帖子:11043

符文:118

8#
每个字我都认识,然而不知道说的啥{:7_358:}
发表于 2019-9-17 08:00:30 来自凯恩之角App |只看该作者 来自:河北

帖子:171

符文:26

9#
大佬,你吃啥长大的?这么优秀
发表于 2019-9-17 08:12:31 来自凯恩之角App |只看该作者 来自:四川

帖子:1495

符文:2733

10#
先收藏后看系列
发表于 2019-9-17 12:34:44 来自凯恩之角App |只看该作者 来自:北京
头像被屏蔽

帖子:450

符文:39

11#
原来菜鸟飞飞就是水饺大佬正好想请教你了。你自动双黑那个宏下来以后,宏里面1写着黑洞,游戏里1放着电甲。结果进去以后开宏老刷电甲是怎么回事。看了你的视频,好几遍没看懂
发表于 2019-9-17 13:32:04 来自凯恩之角App |只看该作者 来自:上海
头像被屏蔽

帖子:635

符文:33

12#
用了一个世纪的水饺大佬宏,终于见到本人了
发表于 2019-9-17 13:42:09 来自凯恩之角App |只看该作者 来自:福建

帖子:1115

符文:194

13#
65535这个数为啥这么眼熟。。。
发表于 2019-9-17 17:16:46 来自凯恩之角App |只看该作者 来自:北京

帖子:52

符文:28

14#
现算来得及吗?不会走路了
发表于 2019-9-17 17:29:31 来自凯恩之角App |只看该作者 来自:山东

帖子:722

符文:40

15#
大佬66666,真的是太厉害了
发表于 2019-9-17 17:41:12 |只看该作者 来自:辽宁
您需要登录后才可以回帖 登录 | 注册网易通行证