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);