按流程写一个脚本。图片我会提供,脚本帮我标注好修改提示。为脚本做好中文注释。
项目一:关卡
第一步:等待1秒钟,在屏幕上找“图片-开始”,找到后点击图片区域中心。
第二步:等待1秒钟,查看是否能找到“图片-继续” ,能找到就点击图片区域中心,运行第三步,如果没有找到也运行第三步。
第三步:等待15秒,开始循环6次,每15秒寻到“图片-领取”,直到找到就退出循环,并点击图片区域中心。
第四步:等待1秒,寻找“图片-结束”,并点击图片区域中心。
这四步要循环运行4次,但第四次循环,第四步不要运行,运行给系统通知栏发送信息“已完成”。
回答
// 文档地址 https://docs.hamibot.com/
// === 修改提示 ===
// 1. 替换所有"图片-XX.png"为实际图片文件名(建议放在项目目录下的images文件夹)
// 2. 路径格式建议使用相对路径:"images/图片-开始.png"
// 3. 颜色阈值和相似度可根据实际情况调整(0.8~0.99建议范围)
// 外层循环4次
for (var i = 0; i < 4; i++) {
toast("开始第" + (i+1) + "轮任务");
// 步骤一:点击开始
sleep(1000);
var startImg = images.read("图片-开始.png");
var startPos = findImage(startImg, 0.9);
if (startPos) {
click(startPos.x, startPos.y);
} else {
toast("未找到开始按钮");
}
// 步骤二:处理继续按钮
sleep(1000);
var continueImg = images.read("图片-继续.png");
var continuePos = findImage(continueImg, 0.9);
if (continuePos) {
click(continuePos.x, continuePos.y);
}
// 步骤三:循环领取奖励
var foundReward = false;
for (var j = 0; j < 6; j++) {
sleep(15000);
var rewardImg = images.read("图片-领取.png");
var rewardPos = findImage(rewardImg, 0.85);
if (rewardPos) {
click(rewardPos.x, rewardPos.y);
foundReward = true;
break;
}
}
// 步骤四:结束任务或发送通知
if (i !== 3) { // 第四次循环跳过
sleep(1000);
var endImg = images.read("图片-结束.png");
var endPos = findImage(endImg, 0.9);
if (endPos) {
click(endPos.x, endPos.y);
}
}
// 第四次循环特殊处理
if (i === 3) {
// 发送系统通知(Android 10+需开启通知权限)
device.notify("任务已完成", "自动化脚本已执行完毕");
}
}
// 工具函数:查找图片并返回中心坐标
function findImage(img, threshold) {
var screen = captureScreen();
var pos = findColor(screen, "#FF0000", {
region: [0, 0, device.width, device.height],
threshold: threshold
});
return pos ? {x: pos.x, y: pos.y} : null;
}
使用说明
- 将所有目标图片放入项目目录下的
images
文件夹 - 在在线编辑器中启用「无障碍服务」和「弹窗权限」
- 确保设备屏幕常亮设置(设置 > 显示 > 保持屏幕常亮)
注意事项
- 图片识别依赖清晰的屏幕截图,请确保目标图片无遮挡
- 可通过
toast()
添加调试信息显示 - 若遇到误点击,可尝试调整
findColor
的阈值参数(0.8~0.99) - 网络请求需确保脚本有对应权限申请(参见脚本页的权限说明)
ℹ️ 本回答由 AI 生成,内容仅供参考