• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] 「按键精灵」游戏小地图寻路的坐标换算 [复制链接]

1#

大家好,我是公众号3分钟学堂的郭立员~


看标题可能有些朋友是不知道要讲什么,我们用一个图举例:




这是一个游戏的小地图,在地图中点击指定坐标,游戏人物就可以自动移动到那个位置,但是有个问题,游戏中提示的坐标,并不是脚本点击的坐标,主要原因有这么3个:


①横竖屏的原因,游戏是横屏的,坐标原点(0,0)是横屏的左上角,按键通常是按照竖屏的截图,那么坐标原点就是竖屏的左上角,换成横屏就是横屏的左下角。


②比例的原因,小地图的坐标单位一般不是像素,也就是说在小地图上移动一个单位,可能是好几个像素点。


③小地图是有边框的,那么它的坐标原点就不可能是左上角,所以会有相对坐标的偏移。


基于以上原因,脚本坐标和小地图坐标需要进行换算,才能实现在脚本中输入一个游戏坐标,脚本能够正确点击对应的位置。


先来解决第一个横竖屏的问题,这里姑且忽略第二、三个问题。


①假设屏幕的宽度是x0,高度是y0




②游戏横屏时,手机屏幕是逆时针旋转




③假设游戏地图的坐标是(x,y),xy是任意坐标,防止是特殊位置的坐标推算的结果而导致计算偏差。





④xy坐标换算成脚本的坐标(竖屏坐标)是多少?


先把屏幕还原成竖屏




新的坐标,我用黄线表示




假设竖屏坐标是(x1,y2),原本横屏的(x,y)坐标,看图可以知道转成竖屏就是(x0-y,x),那么:


x1=x0-y


y1=x


在这两个算式中,x,y,x0都是已知的数字,所以可以算出x1,y1。


再来解决第二个问题,换算比例的问题。


在游戏地图上找2个相对较远的点,算出两个点的坐标距离,然后在用抓抓看看这两个点的像素距离。


坐标距离是游戏上的数字距离,比如(40,50)到(140,50)那么游戏距离就是150-50=100


像素距离是用抓抓获取的坐标点,还是那两个点,坐标(190,80)到(190,280),像素距离就是280-80=200


那么换算比例是 200/100=2,也就是说游戏地图移动1单位,实际是移动2个像素点。


当然这里的换算数字是假设值,实际比例按照你的游戏测算。


这里用n表示换算比例,那么


x1=x0-y*n


y1=x*n


注意,有些游戏的宽高比例是不一样的,所以宽高比例都需要单独测试。


最后一个问题是边框的相对位置问题,假设边框的宽高是kx,ky,看图:




先不考虑换算比例问题,实际坐标如图




x1=x0-kx-y


y1=ky+x


加上换算比例,最终的结果是:


x1=x0-kx-y*n


y1=ky+x*n


这个其实就是一个相对坐标,相对位置的差值是kx,ky。


本期是一个数学坐标题,对数学敏感的朋友请谨慎观看。。。


内容就这些,觉得还行帮忙点个赞~


最后编辑郭立员 最后编辑于 2022-09-15 11:09:02
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

看了但是没看懂

发新话题 回复该主题