脚本精灵怎么从左下角寻色?寻多个相同的点?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本精灵怎么从左下角寻色?寻多个相同的点?相关的知识,希望对你有一定的参考价值。
命令介绍示例:
XY = Plugin.Color.FindMultiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1)
1、在参数1-4设置的范围内,也就是 0,0,1024,768范围内找多点颜色。 2、例子中,参数5第一点颜色设置的是 “FFFFFF” 白色。 3、从参数1-4设置的范围 0,0点开始,从左往右从上到下开始查找第一点颜色。 4、找到之后,以当前找到的点为基准(假设点坐标为(200,200)),开始找参数6里设置的偏移色。5、 第一个偏移色 “2|0|FFFFFF” , 在第一次找到的点(200,200)的基础上,x坐标加2个像素点,y坐标加0个像素点,也就是点(202,200), 如果点 (202,200)的颜色是“FFFFFF”,则继续找下一个偏移色。 6、“ -6|1|FFFFFF” ,第一次找到的点(200,200)的基础上,x坐标减6个像素点,y坐标加1个像素点,也就是点(194,201), 如果点 (194,201)的颜色是“FFFFFF”,则继续找下一个偏移色。
令参数设置快捷键方法
参数6的设置需要这么麻烦吗?要找第一点的颜色,后面的每一个偏移点都要根据第一点来计算偏移了几个像素点?如果没有抓抓工具的话,我们还真要那么苦逼的去计算。
操作步骤: 打开抓抓工具——> 点击图像——>选择 抓多点——>点击 截屏——>鼠标移动到抓抓工具截到的屏幕截图——> 看到中意的点 按下ctrl +1——>点击 “生成代码” 按钮 注意:抓多点需要把图片截到抓抓工具里,直接在桌面/游戏窗口内按ctrl+1是获取不到点的。 第一次按下ctrl+1获取的点为 参数5所描述的第一点颜色。 接下去获取的都是偏移色。
找色范围设置为游戏窗口大小
“整个屏幕作为找色范围,不够效率怎么办?只希望它在游戏窗口范围内找色。” 这个问题,我们使用GetClientRect命令获取到窗口范围即可。
注意:GetClientRect命令获取到的是窗口左上角坐标,和窗口的高度宽度。 而要确定一个找色范围,我们需要的是窗口的左上角坐标和右下角坐标。 窗口的高度和宽度还需要加上左上角的坐标才是窗口的右下角坐标,公式: 右下角x坐标=左上角x坐标+窗口宽度 右下角y坐标=左上角y坐标+窗口高度
代码:
hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArray = Split(sRect, "|")
L = Clng(MyArray(0)): T = Clng(MyArray(1)) //左上角坐标
W = l+Clng(MyArray(2)) : H =t+ Clng(MyArray(3))//右下角坐标
我们将获取到的窗口左上角坐标输出看看是多少,小编用浏览器做个例子:
获取到浏览器左上角坐标为 (105,36)接下来,我们打开按键抓抓工具,图像——>找多点——>截屏。截屏之后,我们打开抓抓工具的放大镜,将放大镜里的定位起点坐标设置为(105,36)然后再开始按ctrl+1获取第一点和偏移点。
代码:
hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArray = Split(sRect, "|")
L = Clng(MyArray(0)): T = Clng(MyArray(1)) //左上角坐标
W = l + Clng(MyArray(2)) : H = t + Clng(MyArray(3))//右下角坐标
XY=Plugin.Color.FindMutiColor(l,t,w,h,"5BD243","14|1|FFFFFF,23|-2|FFFFFF,24|5|FEFFFE,30|9|63CD35,27|25|73C41A,18|33|7AC00F,-11|17|6CC828",1)
dim MyArray
MyArray = Split(XY, "|")
X = CInt(MyArray(0)): Y = CInt(MyArray(1))
MoveTo x, y 参考技术A 按键精灵可以实现
怎么用按键精灵在写的两个脚本之间传递变量?
比如我有A,B两个脚本,A脚本里面定义变量n=10,在B脚本里面要直接用到n这个变量,我用的是6.60版本的,没有6.70的多线程,只有自带插件,请问该如何实现.给予思路就可以.有实例加分.
参考技术A 1、写到剪切板,那边接收。2、写到文件,那边接收。
3、写到内存,那边接收本回答被提问者采纳 参考技术B 直接用GOSUB应该就可以了,把2个变量设置为全局变量,放在最前面声明 参考技术C A脚本做成子程序,执行B脚本 参考技术D 你去论坛里看看,应该有这方面的介绍 第5个回答 2009-08-01 拷贝个本分的 interface
以上是关于脚本精灵怎么从左下角寻色?寻多个相同的点?的主要内容,如果未能解决你的问题,请参考以下文章