# ScriptLib **Repository Path**: huang-tujun/script-lib ## Basic Information - **Project Name**: ScriptLib - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 27 - **Created**: 2020-09-26 - **Last Updated**: 2022-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ScriptLib 适用于 16+:9 比例分辨率的手游脚本多分辨率适配插件 for AutoJs 建议在720x1280分辨率配合图色助手取色 图色助手: https://gitee.com/yiszza/ScriptGraphicHelper/releases 取点时先观察控件的布局, 可能是居中, 或者是靠左或者是靠右, 然后进行取色 不保证适用于所有游戏, 使用前请测试 ``` const left = 0; // 定义常量 const center = 1; const right = 2; if (!requestScreenCapture(true)) { alert("请求截图权限失败"); exit(); } runtime.loadDex(".//scriptlib.dex") importClass(com.scriptlib.AnchorGraphicHelper); print("版本号: " + AnchorGraphicHelper.Version()); //静态方法 //AnchorGraphicHelper(Object obj, int devWidth, int devHeight, int left, int top, int right, int bottom) //obj = aj截图类的父对象 -> runtime.getImages() //devWidth = 开发分辨率_宽 -> 这里的devWidth和devHeight与找色比色时无关, 只用于GetPixel, GetPixelStr, GetPoint //devHeight = 开发分辨率_高 //left = 运行设备的游戏布局_startX //top = 运行设备的游戏布局_startY //right = 运行设备的游戏布局_endX //bottom = 运行设备的游戏布局_endY var helper = new AnchorGraphicHelper(runtime.getImages(), 1280, 720, 0, 0, 2559, 1079); print("获取截图数据到数组: " + helper.KeepScreen()); print("获取x,y in left: " + helper.GetPoint(103, 71, left)); print("获取x,y in center: " + helper.GetPoint(103, 71, center)); print("获取x,y in right: " + helper.GetPoint(103, 71, right)); print(helper.GetPixel(100, 100, left));//获取指定像素数据(int数组) print(helper.GetPixel(100, 100, center));//获取指定像素数据(int数组) print(helper.GetPixel(100, 100, right));//获取指定像素数据(int数组) print("获取指定像素数据(hex字符串): " + helper.GetPixelStr(100, 100, left)); print("获取指定像素数据(hex字符串): " + helper.GetPixelStr(100, 100, center)); print("获取指定像素数据(hex字符串): " + helper.GetPixelStr(100, 100, right)); var describe = [1280, 720, //测试界面: 放开那三国3(雷电渠道) 公告界面, 见附件 [[center, 103, 71, 0xb3833b], [center, 123, 370, 0x994233], [center, 120, 429, 0x712c21], [center, 575, 80, 0xe4ccb3], [center, 688, 81, 0xe2cab1], [center, 1156, 114, 0xffffff], [center, 1175, 112, 0x80280c], [center, 1145, 69, 0xbd8e41], [center, 1151, 414, 0x80342a], [center, 869, 81, 0x722c0c], [center, 774, 71, 0xae5f41], [right, 1244, 151, 0x1d110c], [right, 1226, 163, 0x42361f], [right, 1221, 146, 0x4e4a36], [right, 1224, 63, 0x1f0e09], [right, 1228, 52, 0x4e4c39], [right, 1242, 57, 0x1d0f09]] ]; //可以直接调用找色比色 //Point FindMultiColor(int startX, int startY, int endX, int endY, int devWidth, int devHeight, int[][] describeColors, int sim, int offset) print("多点找色: " + helper.FindMultiColor(0, 0, 2439, 1079, describe[0], describe[1], describe[2], 95, 0)); //boolean CompareColorEx(int devWidth, int devHeight, int[][] compareColors, int sim, int offset) print("多点比色: " + helper.CompareColorEx(describe[0], describe[1], describe[2], 95, 0)); //也可以在色组定义时提前转换好再调用找色比色, 优势是无需每次找色比色时进行转换 var cmpColorArray = helper.GetCmpColorArray(describe[0], describe[1], describe[2]); var findColorArray = helper.GetFindColorArray(describe[0], describe[1], describe[2]); //Point FindMultiColor(int startX, int startY, int endX, int endY, int[][] describeColors, int sim, int offset) print("多点比色: " + helper.FindMultiColor(0, 0, 2439, 1079, findColorArray, 95, 0)); //boolean CompareColorEx(int[][] compareColors, int sim, int offset) print("多点比色: " + helper.CompareColorEx(cmpColorArray, 95, 0)); ```