J Barclay除了解决我的一个问题外,还清理了所有问题!耶!!
非静态方法getRGB()无法从静态上下文中引用。
第28行 -
新代码 -
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 color = 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) == Color.getRGB())
{
robot.mouseMove(x, y);
break search;
}
}
}
}
}
答案 0 :(得分:0)
第一个问题是您正在访问类Robot上的实例方法而不是机器人实例。
只需更改案例即可修复:
BufferedImage image = robot.createScreenCapture(rectangle);
Color.getRGB(195, 174, 196)
的问题在于它是一个getter,它没有参数。调用此方法的方法是:
color.getRGB();
但同样,你正在使用没有实例的实例方法,你需要做的是:
Color color = new Color(r, g, b);
color.getRGB();