编写 AI:屏幕截图和输入

Posted

技术标签:

【中文标题】编写 AI:屏幕截图和输入【英文标题】:Writing an AI: screen capture and input 【发布时间】:2012-07-22 12:12:57 【问题描述】:

我正在考虑一个在 Windows 上为简单游戏编写 AI 的宠物项目(首选 C++/python)。你能告诉我如何抓取简单的屏幕截图,这样我就可以做一些非常简单的对象识别/基本上找出什么是这样的像素颜色。

我还需要管理输入(移动鼠标、单击等)?我主要是 linux 人,所以我敢打赌我需要使用一些 DirectX API 来注入事件?

谢谢

【问题讨论】:

【参考方案1】:

我曾经这样做是为了打破《宝石迷阵闪电战》的记录。事实证明,计算机比所有不使用作弊的人类要快得多。

由于几年前我创建机器人的游戏是在浏览器中运行的 Flash 游戏,因此我只需要使用普通的 Win32 API 调用来获取屏幕内容并发送鼠标事件。

您可以从这里开始阅读一些关于 grabbing screen content 的内容,在这里阅读关于 simulating mouse input 的内容。

我认为您最好使用 .NET 而不是 C++。如果您真的喜欢 Python,请尝试 IronPython,因为它是基于 .NET 的,它将使与 Windows API 的接口变得更加容易。

【讨论】:

您的第二个链接指向与第一个相同的 URL。但我认为最终它会将他指向SendInput。

以上是关于编写 AI:屏幕截图和输入的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 DirectX 工具包中的屏幕抓图捕获桌面/屏幕截图?

Linux C 实现屏幕截图

如何在 SDL 2 中获取并保存 BMP 屏幕截图?

通过android手机截取屏幕截图[重复]

无法摆脱 HTML 表格边框 - 带有屏幕截图和 jfFiddle

没有渲染/虚拟内容的 ARKit/SceneKit 屏幕截图