忘哪位大神能指明我的问题,在下感激不尽!!!

我是一个初学者,程序编的很菜鸟,忘哪位高手能指点指点我程序中的问题。
我的程序是先比较2个点颜色,都为ture则yemian为ture,
当程序第一次就是正确页面时yemian=ture,程序停止,这个程序可以
当程序刚开始运行到为不正确时页面时yemian=false,进入while循环,
我本意是程序一直到正确页面停止退出while循环,可是程序会一直运行下去不会停止,
出现正确页面也不停止,忘哪位大神能指明我的问题,在下感激不尽!!!

"auto";
//在分辨率为1920*1080下编辑
setScreenMetrics(1080, 1920);
//清理内存
recents();
sleep(3000);
//点击叉叉
click(540,1777);
sleep(5000);
launchApp("应用商店");
sleep(5000);
//点击红包
click(958,659);
sleep(5000);
//点1点2坐标测试有红包界面
var se1="#fffc2626"
var se2="#fff8e45a"
var dian1=[84,1352];
var dian2=[133,1351];
var x = dian1[0];
var y = dian1[1];
var x1 = dian2[0];
var y1 = dian2[1];
//比较点1颜色
if(!requestScreenCapture()){
toast("请求截图失败");
exit
}sleep(2000);

var yemian1= images.detectsColor(captureScreen(), se1, x, y);
sleep(2000);
//比较点2颜色
if(!requestScreenCapture()){
toast("请求截图失败");
exit
}
sleep(2000);

var yemian2= images.detectsColor(captureScreen(), se2, x1, y1);
//点1点2都正确则yemian为true
var yemian=yemian1&&yemian2
while (!yemian)
{
if (yemian)
{ break; }
else
{
//返回
back();
sleep(5000);
//点击红包
click(958,659);
sleep(5000);
//比较点1颜色
if(!requestScreenCapture()){
toast("请求截图失败");
exit
}sleep(2000);

yemian1= images.detectsColor(captureScreen(), se1, x, y);
sleep(2000);
//比较点2颜色
if(!requestScreenCapture()){
toast("请求截图失败");
exit
}
sleep(2000);

yemian2= images.detectsColor(captureScreen(), se2, x1, y1);
var yemian=yemian1&&yemian2

toast("运行中");
}
}

sleep(2000);

toast("运行完毕");
sleep(2000);

进交流群吧
至少还不是太渣。

最后由 37458 编辑

不知道你哪个软件哪个页面哪个颜色,没法帮你调试。
你自己加log输出日志,看哪里的结果和你预想的不一样

有一个可能,在重新进去红包后,页面发生偏移,导致你的抓点错误

问题自己调试解决了,再while里掉了个if (yemian)
{ break; },还是谢谢大家了

描述里yemian=ture拼错了,所以程序停了

  • 7
    帖子
  • 671
    浏览

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