首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取桌面映像并创建宏

获取桌面映像并创建宏
EN

Stack Overflow用户
提问于 2011-05-01 16:52:57
回答 1查看 562关注 0票数 3

嗯,我正在玩一个在线的闪光灯游戏,你必须尽快点击白色的盒子。我怎么能用Java实现自动化呢?盒子的位置是随机的。

我尝试使用Robot类并使用getPixelColor,但这太慢了。

所以我要做的是:

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

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-05-01 18:06:12

您可以使用矩形类,使用"contains“方法。

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

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

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

代码语言:javascript
复制
boxA: (x, y, width, height) = (0, 0, 10, 10)
boxB: (x, y, width, height) = (20, 20, 10, 10)

这给了你两个盒子,每个盒子的大小都是10×10像素。"boxA“的左上角在(0,0),而"boxB”的左上角在(20,20)。

如果"mouseClicked“事件的(x,y)坐标是(7,7),那就在"boxA”的范围内(因为(7,7)点在(0,0)和(10,10)之间)

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

你说得对,getPixelColor太慢了,不适合你想要做的事情。循环遍历这些框的列表将使更快,更快。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5849844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档