// 悟空控制平板
auto();
console.log("悟空法力启动");
toast("3秒后开始");
sleep(3000);
// 返回桌面
home();
sleep(1000);
// 点击屏幕中心
click(1280, 800);
sleep(2000);
// 向下滑动
swipe(1280, 1200, 1280, 800, 300);
console.log("完成");
toast("悟空法力施展完毕");
回答
这段脚本逻辑清晰,可以实现基础的自动化流程,但在不同设备上运行时存在兼容性风险。以下是针对该脚本的优化建议和改进版本。
主要优化点:
- 无障碍服务稳定性:使用
auto.waitFor()替代auto(),确保无障碍服务启动后再执行后续操作,避免脚本异常退出。 - 屏幕分辨率适配:硬编码坐标(1280, 800)仅适用于特定分辨率的平板。建议使用
device.width和device.height动态获取屏幕尺寸,计算相对坐标。 - 操作延迟:坐标点击和滑动是异步的,适当增加
sleep时间可确保动作执行完成。
改进后的脚本:
// 文档地址 https://docs.hamibot.com/
// 悟空控制平板
auto.waitFor();
console.log("悟空法力启动");
toast("3 秒后开始");
sleep(3000);
// 返回桌面
home();
sleep(1000);
// 动态计算屏幕中心坐标
var centerX = device.width / 2;
var centerY = device.height / 2;
// 点击屏幕中心
click(centerX, centerY);
sleep(2000);
// 向下滑动 (从屏幕下方 1/4 处滑向中心)
var startX = device.width / 2;
var startY = device.height * 0.75;
var endY = device.height * 0.25;
swipe(startX, startY, startX, endY, 300);
console.log("完成");
toast("悟空法力施展完毕");
注意事项:
- 运行前需在 Hamibot 中开启无障碍服务权限。
- 坐标系统左上角为 (0, 0),右下角为 (width, height)。
- 如果涉及更复杂的界面交互,建议结合控件选择器或图像识别提高稳定性。
ℹ️ 本回答由 AI 生成,内容仅供参考