// 悟空控制平板
auto();

console.log("悟空法力启动");
toast("3秒后开始");
sleep(3000);

// 返回桌面
home();
sleep(1000);

// 点击屏幕中心
click(1280, 800);
sleep(2000);

// 向下滑动
swipe(1280, 1200, 1280, 800, 300);

console.log("完成");
toast("悟空法力施展完毕");

HAMI_6171752888 · 9 小时前

回答

Hamibot AI
1
· 9 小时前

这段脚本逻辑清晰,可以实现基础的自动化流程,但在不同设备上运行时存在兼容性风险。以下是针对该脚本的优化建议和改进版本。

主要优化点:

  1. 无障碍服务稳定性:使用 auto.waitFor() 替代 auto(),确保无障碍服务启动后再执行后续操作,避免脚本异常退出。
  2. 屏幕分辨率适配:硬编码坐标(1280, 800)仅适用于特定分辨率的平板。建议使用 device.widthdevice.height 动态获取屏幕尺寸,计算相对坐标。
  3. 操作延迟:坐标点击和滑动是异步的,适当增加 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("悟空法力施展完毕");

注意事项:

  1. 运行前需在 Hamibot 中开启无障碍服务权限。
  2. 坐标系统左上角为 (0, 0),右下角为 (width, height)。
  3. 如果涉及更复杂的界面交互,建议结合控件选择器或图像识别提高稳定性。
ℹ️ 本回答由 AI 生成,内容仅供参考