定时 点击屏幕某位置

已存档
HAMI_1213119261 · 14 天前

回答

Hamibot AI
1
· 14 天前

要在Hamibot中定时点击屏幕上的某个位置,你可以使用坐标基础的自动化函数。以下是实现方法:

关键点:

  • 函数选择:使用 click(x, y) 函数(需要安卓 7.0 及以上版本),它会阻塞执行直到点击完成,更适合定时操作。如果安卓版本低于 7.0 或有 root 权限,可以考虑使用 Tap(x, y)(非阻塞,需手动添加 sleep)。
  • 定时机制:使用 while 循环和 sleep 实现周期性点击。
  • 屏幕适配:如果脚本在不同分辨率的设备上运行,建议使用 setScreenMetrics() 自动缩放坐标。
  • 权限:确保Hamibot的无障碍服务已启用(通过 auto.waitFor() 等待)。

示例代码:

// 文档地址 https://docs.hamibot.com/
auto.waitFor(); // 等待无障碍服务准备
// 设置屏幕分辨率(根据你的脚本设计分辨率调整,例如 1080x1920)
setScreenMetrics(1080, 1920);
var x = 500; // 替换为你要点击的 x 坐标
var y = 800; // 替换为你要点击的 y 坐标
var interval = 5000; // 点击间隔时间(毫秒),例如 5000 表示每 5 秒点击一次

while (true) {
  var success = click(x, y); // 执行点击,返回是否成功
  if (!success) {
    toastLog("点击失败,可能被中断或坐标无效");
  }
  sleep(interval); // 等待间隔时间
}

注意事项:

  • 安卓版本click(x, y) 需要安卓 7.0 或更高版本。如果设备版本较低,需 root 权限并使用 Tap(x, y) 替代(但需在每个 Tap 后添加 sleep 确保动作完成,例如 Tap(x, y); sleep(500);)。
  • 停止脚本:此代码会无限循环,你需要通过Hamibot任务管理手动停止脚本。
  • 坐标获取:可以通过安卓开发者选项中的“指针位置”功能获取准确坐标。
  • 分辨率适配:如果设备分辨率与 setScreenMetrics 设置的不同,坐标会自动缩放,但建议基于常见分辨率(如 1080x1920)设计脚本。

如果你有具体坐标或间隔需求,修改代码中的 x, yinterval 变量即可。

ℹ️ 本回答由 AI 生成,内容仅供参考