问题描述
我正在尝试制作一个小型机器人,该机器人需要获取屏幕上特定位置的颜色,单击/双击并使用键盘上的字母。
由于我很懒,所以该机器人只会帮助我节省启动游戏的时间。 例如,我启动了机器人程序(带有一个小窗口,带有一个标有“ go”或类似名称的按钮,以及其他可以选择我想要的游戏的按钮),它双击了正确图标的位置,然后双击检测到精确的像素组合,它将单击正确的位置并输入我的登录名/密码并启动游戏。
我的问题是: 是否可以使用Xcode Swift5 MacOs应用程序执行此操作?
谢谢您的时间!
解决方法
有可能。
但这不是最简单的事情,需要大量的设置和时间。
我想您还没有使用Swift或Xcode,所以我不建议您为这样一个简单的任务学习两者。
相反,请查看Mac上已安装的应用程序“脚本编辑器”。它使您可以用Applescript编写代码(比起代码,它更具可读性和“英语风格”,并且可以为您提供所需的工具。
在这里您可以双击一个简单的代码:
tell application "System Events"
click at {10,10}
delay 0.1
click at {10,10}
end tell
这里是一个按键
tell application "System Events"
delay 0.5
keystroke space using command down
end tell
顺便说一句keystroke
也可以用来键入整个单词和句子。
在这里通过Google进行快速搜索,您还可以获得在给定的x,y处获取十六进制颜色的代码:
do shell script "screencapture -R{x},{y},1,1 -t bmp $TMPDIR/test.bmp && \
xxd -p -l 3 -s 54 $TMPDIR/test.bmp | \
sed 's/\\(..\\)\\(..\\)\\(..\\)/\\3\\2\\1/'"
,
最后,我选择打开Windows并在Visual Studio 2019中使用.net。这非常简单。