diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 0e1c064..63574ec 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -2,6 +2,7 @@ + \ No newline at end of file diff --git a/legend/L204,734-城镇_离线收益.png b/legend/L204,734-城镇_离线收益.png new file mode 100644 index 0000000..cd70d82 Binary files /dev/null and b/legend/L204,734-城镇_离线收益.png differ diff --git a/legend/L444,888-野外.png b/legend/L444,888-野外.png new file mode 100644 index 0000000..ea2d297 Binary files /dev/null and b/legend/L444,888-野外.png differ diff --git a/legend/L456,887-城镇.png b/legend/L456,887-城镇.png new file mode 100644 index 0000000..e67ed8e Binary files /dev/null and b/legend/L456,887-城镇.png differ diff --git a/legend/城镇_欢迎回来.png b/legend/城镇_欢迎回来.png deleted file mode 100644 index b44cc74..0000000 Binary files a/legend/城镇_欢迎回来.png and /dev/null differ diff --git a/src/main/java/com/example/jmacro/wjdr/JMacro.java b/src/main/java/com/example/jmacro/wjdr/JMacro.java index adf77a1..764e4f4 100644 --- a/src/main/java/com/example/jmacro/wjdr/JMacro.java +++ b/src/main/java/com/example/jmacro/wjdr/JMacro.java @@ -312,7 +312,7 @@ public class JMacro { // 进行全像素匹配 double similar = Imager.calcSimilar(x - xMin, y - yMin, pic.getHeight(), pic.getWidth(), screenData, picData); if (similar >= minSimilar) { - return new ScreenRect(x - xMin, y - yMin, x + pic.getWidth(), y + pic.getHeight(), similar); + return new ScreenRect(x, y, x + pic.getWidth(), y + pic.getHeight(), similar); } } } @@ -406,7 +406,7 @@ public class JMacro { /** * 匹配图片 * - * @param point 匹配坐标(左上角) + * @param point 坐标原点(左上角) * @param file 图例 * @param minSimilar 最低相似度 * @return 匹配图片 @@ -432,7 +432,7 @@ public class JMacro { /** * 是否匹配图片 * - * @param point 匹配坐标(左上角) + * @param point 坐标原点(左上角) * @param file 图例 * @param minSimilar 最低相似度 * @return 匹配图片 diff --git a/src/main/java/com/example/jmacro/wjdr/MainTask.java b/src/main/java/com/example/jmacro/wjdr/MainTask.java index 98d1286..c5529ef 100644 --- a/src/main/java/com/example/jmacro/wjdr/MainTask.java +++ b/src/main/java/com/example/jmacro/wjdr/MainTask.java @@ -96,7 +96,7 @@ public class MainTask { // 获取窗口返回 gameScreen = new ScreenRect(); gameScreen.setLeft(mumu.getLeft() - 428); - gameScreen.setTop(mumu.getTop() - 8); + gameScreen.setTop(mumu.getBottom() + 7); gameScreen.setRight(mumu.getRight()); gameScreen.setBottom(mumu.getBottom() + 951); Logger.info("应用窗口位置:" + gameScreen.toString()); @@ -165,17 +165,15 @@ public class MainTask { } { // 定位离线收益弹框,关闭弹框 - BufferedImage image = Imager.load(new File("legend", "城镇_欢迎回来.png")); - ScreenRect rect = jMacro.findPic(gameScreen, image, 0.95d); + ScreenRect rect = jMacro.matchPic(new ScreenPoint(gameScreen.getLeft(),gameScreen.getTop()), new File("legend", "L204,734-城镇_离线收益.png"), 0.9); if (rect != null) { - jMacro.mouseLeftClick(new ScreenPoint(rect.getCenter()[0], rect.getBottom())); - Logger.info("检测到欢迎回来弹框,关闭弹框"); + jMacro.mouseLeftClick(rect); + Logger.info("检测到离线收益弹框,关闭弹框"); } } { // 定位主程序 - BufferedImage legend = Imager.load(new File("legend", "城镇_野外.png")); - ScreenRect rect = jMacro.findPic(gameScreen, legend, 0.90d); + ScreenRect rect = jMacro.matchPic(new ScreenPoint(gameScreen.getLeft(),gameScreen.getTop()), new File("legend", "L444,888-野外.png"), 0.9); if (rect != null) { Logger.info("程序主界面已就绪"); return rect;