看文档里使用多线程,启动一个新的子线程是var thread = threads.start(...),
这里面的threads从哪里来的?我用的时候提示我threads is not defind(未定义),求大佬解释一下

最后由 KisSnow 编辑
管理员

@kissnow

文档里面的 示例看过了吗~并没有错,

请贴出你的autojs的版本号.和完整代码.方便查找问题

"auto";
var thread = threads.start(function(){
while(true){
click(634,682); // 抽奖按钮坐标
sleep(500);
}
});
while(true){
setTimeout(function(){
threads.shutDownAll();
click(1796, 199); // 重置奖池按钮坐标
sleep(2000);
click(1342, 766); // 确定重置按钮坐标
sleep(1000);
threads.start();
}, 1000 * 60 * 5); // 定时器,间隔为5分钟
}

start里面没有执行函数,我说的没错吧

@卢某某 执行啦,里面就是一个死循环,他是报threads这个对象没有定义的错误,但是我看文档里面没有关于这个对象的创建啊,都是直接使用threads.start()来创建一个子线程

@dcrclub 大佬,上面是我的代码,你帮忙看一下把,是哪里的问题

@admin 用了,还是报错:ReferenceError:"Threads" is not defined(<抽奖>#3)

@admin 我的,我的,我忘了我在2.0版本上修改了一下threas,想着直接new 一个Threads看行不行,结果使用新版本忘了修改过来了...刚看到

@admin 能帮忙看一下我这个脚本么,我运行后,5分钟之后再次启动子线程运行一段时间就停止了,找不到原因...

"auto";

var w = device.width; // 屏幕宽度,单位像素
var h = device.height; // 屏幕高度,单位像素
var interval = 1000 * 60 * 5; // 定时器,间隔为5分钟

var i = 0; // 已抽的奖池数

/** 抽奖按钮坐标 */
var x1 = 650;
var y1 = 700;

/** 重置礼物按钮坐标 */
var x2 = 1700;
var y2 = 300;

/** 确定重置按钮坐标 */
var x3 = 1300;
var y3 = 850;

/** 关闭提示按钮坐标 */
var x4 = 950;
var y4 = 850;

// 确保无障碍服务开启
auto():
main();

function main(){
toast("请在5秒内打开游戏,并将页面切换至抽奖页面");
// waitForPackage("");
sleep(5000);
luckyDraw();
while(true){
sleep(interval);
toast("已抽" + i + "池");
i++;
threads.shutDownAll();
click(x2, y2);
sleep(5000);
click(x3, y3);
sleep(3000);
click(x4, y4);
sleep(5000);
threads.start();
}
}

function luckyDraw(){
var thread = threads.start(function(){
while(true){
click(x1, y1);
sleep(1000); // 抽奖按钮坐标
}
});
}

  • 11
    帖子
  • 663
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待