我正在考虑一个宠物项目,编写一个在Windows上运行的简单游戏的AI(首选C++/Python)。你能指导我如何获取简单的屏幕截图,以便我可以进行一些非常简单的对象识别/找出某个像素的颜色吗?
另外,我还需要管理输入(移动鼠标、点击等)?我主要是Linux用户,所以我猜在这里我可能需要使用DirectX API来注入事件?
谢谢
回答:
我曾经为了打破《宝石迷阵闪电战》的记录做过类似的事情。结果证明,计算机比所有不使用作弊手段的人类都要快得多。
由于我创建机器人的那个游戏是几年前在浏览器中运行的Flash游戏,我只需要使用普通的Win32 API调用来捕捉屏幕内容和发送鼠标事件。
你可以从这里开始阅读一些关于捕捉屏幕内容的信息,以及这里关于模拟鼠标输入的信息。
我认为你最好使用.NET而不是C++。如果你真的喜欢Python,可以尝试IronPython,因为它基于.NET,会使与Windows API的接口变得更加容易。