回答
在 Hamibot 中获取和处理手机横屏坐标,主要涉及查看物理坐标和脚本内的逻辑坐标适配。以下是具体方法:
1. 查看物理坐标
如果你需要知道屏幕上某一点的实时物理像素坐标:
- 进入手机系统的“开发者选项”。
- 开启“指针位置”功能。
- 此时在屏幕上触摸或滑动,状态栏下方会实时显示当前的 X 和 Y 坐标数值。
2. 脚本中设置与获取坐标
为了保证脚本在不同分辨率的设备上都能正确运行,强烈建议在脚本开头使用 setScreenMetrics() 函数设定设计分辨率。如果是横屏脚本,宽度数值应大于高度数值。
以下是一个兼容 Rhino 引擎的示例代码:
// 文档地址 https://docs.hamibot.com/
// 设置脚本设计时的屏幕宽高(横屏示例)
setScreenMetrics(1920, 1080);
// 获取控件并计算中心坐标
var widget = id("target_id").findOne();
if (widget) {
// 获取控件边界中心点
var centerX = widget.bounds().centerX();
var centerY = widget.bounds().centerY();
log("目标坐标为:" + centerX + ", " + centerY);
// 执行点击操作
click(centerX, centerY);
} else {
log("未找到指定控件");
}
3. 关键注意事项
- 坐标缩放:调用
setScreenMetrics后,脚本内使用的坐标会自动根据实际设备分辨率进行放缩。例如设计分辨率是 1920x1080,实际设备是 1080x2400(竖屏),脚本中的横屏坐标会被自动映射到实际屏幕对应位置。 - 截图延迟:如果你需要通过截图分析来获取坐标,请先调用
requestScreenCapture()。注意截图更新需要时间,短时间内连续调用captureScreen()可能会返回相同的图片对象。 - 语法兼容性:Hamibot 使用 Rhino 1.7.15 引擎,编写脚本时请勿使用箭头函数(如
() => {})或函数默认参数,以免报错。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实