获取桌面映像并创建宏



我正在玩一个在线flash游戏,你必须尽可能快地点击白框。我怎样才能用Java实现自动化呢?盒子的位置是随机的。

我尝试使用Robot类和使用getPixelColor,但这是方式太慢了。

那么我需要做的是:

  1. 我的游戏窗口是500x500窗口,所以从它获取像素
  2. 查找5x5白色盒子
  3. 点击它们

有什么建议吗?

您可以使用Rectangle类,使用"contains"方法。

或者你可以创建自己的,基本上是这样的:

  1. 跟踪你的盒子,它们的当前(x, y)位置,以及它们的(宽度,高度)
  2. 使用mouseclick()事件获取点击
  3. 的(x, y)位置
  4. 在mouseclick()的内部,循环遍历所有的方框,并检查鼠标点击(x, y)是否在方框

例如,如果屏幕上有两个框:

boxA: (x, y, width, height) = (0, 0, 10, 10)
boxB: (x, y, width, height) = (20, 20, 10, 10)

这将为您提供两个框,每个框的大小为10x10像素。"boxA"的左上角在(0,0)处,"boxB"的左上角在(20,20)处。

如果"mouseclick"事件的(x, y)坐标是(7,7),那么它就在"boxA"的边界内(因为点(7,7)在(0,0)和(10,10)之间)

如果"mouseclick"事件的(x, y)坐标是(23,25),那么它就在"boxB"内,因为(23,25)在(20,20)和(30,30)之间

你是对的,getPixelColor对于你想做的事情来说太慢了。循环遍历盒子列表将比快得多。


如果您想深入了解一个更深入的示例,这里有一篇关于碰撞检测概念的文章。

最新更新