为什么该循环有时会在屏幕上随机点击?
Why does that loop sometimes click randomly on screen?
我自己做了这个循环,我正在努力让它更快、更好......但有时在它重复搜索现有的......它随机按下(我认为它与我使用的任何 img 都不相似在 sikuli 中)放置在屏幕上。也许你会知道为什么。
下面这个循环的一部分
while surowiec_1:
if exists("1451060448708.png", 1) or exists("1451061746632.png", 1):
foo = [w_lewo, w_prawo, w_dol, w_gore]
randomListElement = foo[random.randint(0,len(foo)-1)]
click(randomListElement)
wait(3)
else:
if exists("1450930340868.png", 1 ):
click(hemp)
wait(1)
hemp = exists("1450930340868.png", 1)
elif exists("1451086210167.png", 1):
click(tree)
wait(1)
tree = exists("1451086210167.png", 1)
elif exists("1451022614047.png", 1 ):
hover("1451022614047.png")
click(flower)
flower = exists("1451022614047.png", 1)
elif exists("1451021823366.png", 1 ):
click(fish)
fish = exists("1451021823366.png")
elif exists("1451022083851.png", 1 ):
click(bigfish)
bigfish = exists("1451022083851.png", 1)
else:
foo = [w_lewo, w_prawo, w_dol, w_gore]
randomListElement = foo[random.randint(0,len(foo)-1)]
click(randomListElement)
wait(3)
请问这只是img识别的程序问题还是我搞错了
你两次调用 exist
方法 inding 得到相同的匹配(第一次在你的 if
语句中,第二次将它赋给值。你让 sikuli 评估图像两次,它可以有不同的结果。
来自 method's documentation
the best match can be accessed using Region.getLastMatch()
afterwards.
我自己做了这个循环,我正在努力让它更快、更好......但有时在它重复搜索现有的......它随机按下(我认为它与我使用的任何 img 都不相似在 sikuli 中)放置在屏幕上。也许你会知道为什么。
下面这个循环的一部分
while surowiec_1:
if exists("1451060448708.png", 1) or exists("1451061746632.png", 1):
foo = [w_lewo, w_prawo, w_dol, w_gore]
randomListElement = foo[random.randint(0,len(foo)-1)]
click(randomListElement)
wait(3)
else:
if exists("1450930340868.png", 1 ):
click(hemp)
wait(1)
hemp = exists("1450930340868.png", 1)
elif exists("1451086210167.png", 1):
click(tree)
wait(1)
tree = exists("1451086210167.png", 1)
elif exists("1451022614047.png", 1 ):
hover("1451022614047.png")
click(flower)
flower = exists("1451022614047.png", 1)
elif exists("1451021823366.png", 1 ):
click(fish)
fish = exists("1451021823366.png")
elif exists("1451022083851.png", 1 ):
click(bigfish)
bigfish = exists("1451022083851.png", 1)
else:
foo = [w_lewo, w_prawo, w_dol, w_gore]
randomListElement = foo[random.randint(0,len(foo)-1)]
click(randomListElement)
wait(3)
请问这只是img识别的程序问题还是我搞错了
你两次调用 exist
方法 inding 得到相同的匹配(第一次在你的 if
语句中,第二次将它赋给值。你让 sikuli 评估图像两次,它可以有不同的结果。
来自 method's documentation
the best match can be accessed using
Region.getLastMatch()
afterwards.