これは私が今持っているコードです。コンパイルはうまくいきますが、実行しようとすると上記のエラーが発生します。
import java.awt.*;
import java.awt.event.*;
import java.awt.Robot;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class GunningBot {
public static void main(String[] args) throws Exception {
Robot robot = new Robot();
Color color1 = new Color(195, 174, 196);
{
Rectangle rectangle = new Rectangle(0, 0, 1075, 700);
{
BufferedImage image = robot.createScreenCapture(rectangle);
search:
for (int x = 0; x < rectangle.getWidth(); x++) {
for (int y = 0; y < rectangle.getHeight(); y++) {
if (image.getRGB(x, y) == color1.getRGB()) {
robot.mouseMove(x, y);
break search;
}
}
}
}
}
robot.delay(0);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(0);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(15);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(0);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(1500);
robot.mouseMove(510, 440); //DO THIS BOTTOM LEFT
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(500, 140); //MOVE TO LEFT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);
robot.mouseMove(500, 370); //DO THIS TOP RIGHT
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(510, 370); //MOVE TO RIGHT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);
robot.mouseMove(700, 440); //DO THIS RIGHT CORNER MOVE LEFT 5
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(690, 440); //MOVE TO LEFT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);
robot.mouseMove(315, 370); //DO THIS LEFT CORNER MOVE RIGHT 5
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(320, 370); //MOVE TO RIGHT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
}
配列の拡張などに関する多くの修正例を見つけましたが、配列は使用しません。したがって、このスクリプトのこのエラーを修正する方法がわかりません。どんな助けでも素晴らしいでしょう。
完全なエラーは次のとおりです。
スレッド「メイン」での例外 java.lang.ArrayIndexOutOfBoundsException: GunningBot.main (GunningBot.java:39) で 0
bufferimage は Raster を使用していますが、これが問題でしょうか? 四角形は、スクリーンショットを取得するために画面の四角形を設定するだけです。
また、メモ帳++でコードを編集していますが、Eclipseなしで例外を設定する方法がわかりません。