python - pyautogui locateAllOnScreen 我如何从列表中删除它?
问题描述
我是 python 新手,我正在尝试为游戏做机器人。游戏的目的是当鼠标停留在盒子上时,颜色变得明显。单击该框,直到颜色变为绿色。该代码有效,但它会单击每个框一次,即使在框变为绿色之后,它也会返回该框并检查它。由于游戏中有 30 多个盒子,因此浪费了很多时间。我想要的是来到该框一次并单击直到它变成绿色,然后从框列表中删除该框。我怎样才能做到这一点 ?
import pyautogui as pg
import keyboard
import time
import pydirectinput
if pg.locateOnScreen('box.png', confidence=0.9):
boxs = pg.locateAllOnScreen('box.png', confidence=0.9)
for box in boxs:
pg.moveTo(box)
time.sleep(.2)
if pg.locateOnScreen('red', confidence=0.95) or pg.locateOnScreen('orange',
confidence=0.95) or pg.locateOnScreen(
'blue', confidence=0.95) or pg.locateOnScreen('white', confidence=0.95) or pg.locateOnScreen(
'brown', confidence=0.95) or pg.locateOnScreen('black', confidence=0.95):
pg.mouseDown()
pg.mouseUp()
解决方案
推荐阅读
- preg-replace - PHP:使用 preg_replace 替换两个已知字符串之间的未知字符串
- python - 如何避免双重继承
- mysql - 'where 子句'中的错误 SQL 未知列 'role_user.role_id'
- c++ - 如何在 C++ 中重写函数
- node.js - 避免 10 个池连接的限制
- typescript - 使用 VS Code 调试在 Docker 容器中使用 ts-node 运行的 TypeScript 应用程序时,如何正确设置断点?
- pytorch - Pytorch:如何将模型动物园预训练模型映射到新 GPU
- c# - WPF 需要找到一种方法来识别自定义 Page 类上的 TypeOf
- c++ - D3D11CreateDeviceAndSwapChain 不会在第二台显示器上切换到全屏
- c# - android:textAlignment 在 xamarin 4.7,.10.38 的设计器中不受尊重