JAVA制作游戏脚本(1)—Robot机器人

  • //1.创建一个机器人实例
    Robot robot = new Robot();

    API

  • //2.延时函数
    robot.delay(毫秒值);

  • //3.鼠标按下,括号中加按下的键

InputEvent.BUTTON1_DOWN_MASK (鼠标左键)
InputEvent.BUTTON2_DOWN_MASK (鼠标中键)
InputEvent.BUTTON3_DOWN_MASK (鼠标右键)
以上三个常用的替换下面的int buttons
void mousePress(int buttons);

  • //4.鼠标抬起
    void mouseRelease(int buttons);
  • //5.鼠标移动
    X,Y为坐标点 int类型
    robot.mouseMove(X,Y)

    • //6.鼠标按下和抬起中间要有个时间间隔模拟人的操作
      添加一个随机的毫秒值,人正常按下按键抬起按键是有一个时间的范围的
      double d = random.nextDouble();
      b = 0.2+b=(0.4-0.2);
      int m = (int)(b*1000);
      robot.delay(m);
      //在按下和抬起中间加上延时的时间

    • //7.获取屏幕颜色
      Color getPixeColor(int x,int y)

    • //8.取得给定屏幕坐标像素位置颜色值
      Color pixelColor = robot.getPixelColor(950,500);

    • //9.通过上面的Color获取三原色的数值

    pixelColor.getRed()
    pixelColor.getGreen()
    pixelColor.getBlue()

    • //10.像素识别技术

//rectangle 此函数调用方式为
//void rectangle(int left,int top,int right,int bottom)。
//设定一个矩形范围,放在screenRect中
Robot r = new Robot();
r.createScreenCapture(screenRect);


接下来是我写的应用像素技术的截图demo

    Robot r = new Robot();
    //new Rectangle(100, 100, 100, 100)坐标100,100的位置上取一个大小为100,100的像素矩形
    //r.createScreenCapture通过它来获取这个像素矩形里面的图片信息
    BufferedImage bi = r.createScreenCapture(new Rectangle(100, 100, 100, 100));
    int type = bi.getType();
    int height = bi.getHeight();
    int width = bi.getWidth();
    SampleModel sampleModel = bi.getSampleModel();
    int dataType = sampleModel.getDataType();
    System.out.println("type"+type);
    System.out.println("height"+height);//图片的高
    System.out.println("width"+width);//图片的宽
    System.out.println("sampleModel"+sampleModel);
    System.out.println("dataType"+dataType);
    //设定存在哪。存的文件名叫啥
    File f = new File("D:\\save.png");
    //打开一个输出流
    OutputStream os = new FileOutputStream(f);
    //bi.flush();这个是刷新操作,具体干啥的不知道
    //第一个参数传BufferedImage,第二个传图片类型,
    //支持,png,,pg,,gif
    //第三个传一个OutputStream流
    //成功写入磁盘
    ImageIO.write(bi, "png", os);
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐