安卓/ios脚本开发辅助工具按键精灵横纵坐标转换教程

在使用按键精灵中,很多用户分不清楚横纵坐标应该怎么去转换,尤其是真机,抓取的都是纵坐标,在实际运行中,游戏可能是横屏挂机,新手用户针对切换坐标往往比较头疼和不知所措,今天带来一篇关于这块的转换教学。

一、横屏和竖屏的坐标转换

横屏和竖屏的坐标转换其实是一个数学问题,再加上他是打码平台得到的坐标,使得这个问题变得稍微的复杂了一些。

下面说一个通用的计算思路:坐标、距离转换法。

①、定位"原点"

什么是"原点"?可以理解为是坐标的起始点,也就是坐标(0,0)点。

手机屏幕的"原点"在哪里?

竖屏(日常使用手机的握持方向),"原点"在屏幕的左上角

横屏(一般是玩游戏的握持方向),"原点"在屏幕的左上角

强行将横屏转成竖屏,"原点"的变化。

②、确定脚本的"原点"

手机模式下:

平板模式下:

打码的截图的"原点":

你发给打码平台的图片左上角就是它的"原点"。

③、坐标与距离的关系

假设屏幕上任意一个点的坐标(x,y),这个点与原点的距离是多少?

横向距离:x

纵向距离:y

实际计算距离的过程是(x,y)减去(0,0) ,任意数字减0都等于它本身。

现在坐标点(x,y)可以换一个表述方式,就是一个点距离"原点"横向距离x,纵向距离y。

为什么用距离表示坐标?

由于屏幕旋转,或者打码截图都会影响坐标的数值,但是距离这个值是不会受到影响的。

二、计算屏幕旋转和打码截图后的坐标。

①、确定你的脚本坐标原点。

使用抓抓截图,在抓抓工具中显示(0,0)点的位置就是脚本坐标原点。

这一步非常重要,我们选择的"原点"不对的话,计算出的坐标结果也不能被脚本使用。

②、把坐标转化成距离。

举个例子,如图所示:

这是一个横屏游戏弹窗了一个点击验证码,要对接打码平台所以截图上传,上传的图片如下图:这里为了识别准确必须上传一个旋转后的横屏图片。

打码平台的返回结果是(x,y)

通过示意图把坐标转化成距离:

以脚本原点的截图展示:旋转90度

由于做了旋转,图片的"原点"发生了变化,(x1,y1)变成了新的"原点",那么当下(x,y)这个点与新的"原点"(x1,y1)的距离是多少呢?

纵向距离是原来的x值

横向距离=图片宽度-y值

图片宽度=x2-x1

最终横向距离=x2-x1-x

继续更换"原点"为屏幕左上角,也就是我们的脚本"原点",计算(x,y)这个点与原点的距离。

横向距离=x2-x1-x +x1= x2-x

纵向距离 = x+y1

总结:

要想得到一个点的"脚本坐标",只需要计算这个点与脚本"原点"的距离。

这边也要感谢郭老师的经验教程分享!

相关推荐
程序员二叉9 分钟前
【JUC】AQS底层深度拆解|独占/共享模式|队列原理全详解
java·开发语言·面试·juc
踏着七彩祥云的小丑11 分钟前
Go 学习第6天:结构体 + 切片 + range遍历
开发语言·学习·golang·go
读书札记202213 分钟前
Qt中windeployqt.exe工具的使用:解决使用CMake创建的项目点击exe文件后系统提示0xc000007b的问题
开发语言·qt
故渊at20 分钟前
第十二板块:Android 系统启动与初始化 | 第二十九篇:Init 进程、RC 脚本与属性服务(Property Service)
android·linux·内存映射·权限控制·init进程·rc脚本·属性服务
大熊猫侯佩22 分钟前
WWDC26 最被忽视的王炸:告别“伪并发”陷阱,Swift 6.4 的 async defer
ios·swift·编程语言
故渊at24 分钟前
第十三板块:Android 综合架构与未来演进 | 第三十二篇:Android 内存管理与 LMK 机制的深度剖析
android·架构·内存管理·内存回收·lmk机制·收割算法
故渊at25 分钟前
第十一板块:Android 跨进程通信与 Binder 深度剖析 | 第二十七篇:Binder 线程池与死亡通知(Death Recipient)机制
android·binder·线程池·死亡通知·跨进程通讯
xiaoshuaishuai825 分钟前
C# 定制化Markdown编辑器
开发语言·c#·编辑器
jushi899926 分钟前
FB Neo 街机模拟器全游戏整合版 含25000+街机游戏怀旧复古街机游戏 解压即玩 热门怀旧街机游戏全集安卓+PC电脑版
android·游戏·电脑
DogDaoDao26 分钟前
C++核心技术深度剖析:从底层原理到工程实践
开发语言·c++·面试·程序员·指针·虚函数