回答
在设备上配置一个开始按钮来控制脚本的开始和停止,可以通过使用 Hamibot 的浮窗功能实现。以下是一个简单的示例代码,用于创建一个带有“开始”和“停止”按钮的浮窗,并通过点击按钮来控制脚本的执行:
// 文档地址 https://docs.hamibot.com/
// 创建悬浮窗
var floatyWin = floaty.window(
<vertical padding="16">
<button id="startBtn" text="开始" bg="#4CAF50" />
<button id="stopBtn" text="停止" bg="#F44336" enabled="false" />
<button id="exitBtn" text="退出脚本" bg="#607D8B" />
</vertical>
);
// 定义控制脚本执行的变量
var isRunning = false;
// 开始按钮点击事件
floatyWin.startBtn.click(function () {
if (isRunning) return;
isRunning = true;
toast("任务开始");
// 执行任务代码
// 示例:模拟任务执行
var taskInterval = setInterval(function () {
// 这里可以放置你的任务逻辑
// 例如:点击操作、等待等
// 如果需要停止任务,可以调用 stopTask() 函数
}, 1000);
// 更新按钮状态
ui.run(function () {
floatyWin.startBtn.enabled = false;
floatyWin.stopBtn.enabled = true;
});
});
// 停止按钮点击事件
floatyWin.stopBtn.click(function () {
if (!isRunning) return;
isRunning = false;
toast("任务停止");
// 停止任务代码
// 示例:清除定时器
clearInterval(taskInterval);
// 更新按钮状态
ui.run(function () {
floatyWin.startBtn.enabled = true;
floatyWin.stopBtn.enabled = false;
});
});
// 退出按钮点击事件
floatyWin.exitBtn.click(function () {
// 停止任务
if (isRunning) {
isRunning = false;
toast("任务停止");
clearInterval(taskInterval);
}
floatyWin.close();
hamibot.exit();
});
// 保持悬浮窗不被关闭
setInterval(function () {}, 1000);
说明:
- 浮窗创建:使用
floaty.window
创建一个带有三个按钮的浮窗,分别是“开始”、“停止”和“退出脚本”。 - 按钮事件监听:为每个按钮绑定点击事件,分别处理开始、停止和退出操作。
- 任务控制:使用
isRunning
变量来跟踪脚本是否正在运行,确保按钮的状态正确更新。 - 任务执行:在“开始”按钮点击时启动任务,这里用
setInterval
模拟任务执行,你可以根据实际需求替换为具体的任务逻辑。 - 任务停止:在“停止”按钮点击时停止任务,清除定时器并更新按钮状态。
通过这种方式,你可以在设备上配置一个开始按钮来控制脚本的开始和停止。
ℹ️ 本回答由 AI 生成,内容仅供参考