学习游戏辅助制作 按键精灵循环点击无规律坐标

2025-04-25 12:23:57

1、思路分析1、把我们要点击的坐标点都放到一个字符串变量中,例如:字符串="345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"

2、写一个函数SubStrToArr(字符串)用来转换分割字符串里的坐标。咱们看这个字符串,它一共有9个坐标,分别用>这个符合分割开。"345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"用split分割函数分割字符串,并且保存到数组arrx里:arrX=Split(字符串,">")

3、分割好字符串之后,arrx里存放的数据情况如下:arrx(0)=345,56arrx(1)=214,36arrx(2)=77,88arrx(3)=89,21arrx(4)=39,78arrx(5)=11,20arrx(6)=67,34arrx(7)=80,51arrx(8)=13,63

4、分割好亨蚂擤缚字符串之后,arry里存放的数据情况如下:arrx(0)=345,56分割之后:arry(0)=345锾攒揉敫arry(1)=56arrx(1)=214,36分割之后:arry(0)=214arry(1)=36arrx(2)=77,88分割之后:arry(0)=77arry(1)=88arrx(3)=89,21分割之后:arry(0)=89arry(1)=21以此类推……我们需要使用二维数组来记录:ArrMap(UBound(arrX),UBound(arrY))ArrMap二维数组,第一维的元素个数是分割">"这个符号的个数,即:坐标个数。第二维的元素个数是分割","这个符号的个数,即:x坐标和y坐标看表格更加直观:分割">"arrX(0-8)分割","arry(0)x坐标分割","arry(1)y坐标345,56ArrMap(0,0)=345ArrMap(0,1)=56214,36ArrMap(1,0)=214ArrMap(1,1)=3677,88ArrMap(2,0)=77ArrMap(2,1)=8889,21ArrMap(3,0)=89ArrMap(3,1)=2139,78ArrMap(4,0)=39ArrMap(4,1)=7811,20ArrMap(5,0)=11ArrMap(5,1)=2067,34ArrMap(6,0)=67ArrMap(6,1)=3480,51ArrMap(7,0)=80ArrMap(7,1)=5113,63ArrMap(8,0)=13ArrMap(8,1)=63

5、调用Su水瑞侮瑜bStrToArr(字符串)分割坐标,循环点击坐标点。代码字符串="345,56媪青怍牙>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"CallStrToArr(字符串)Fori=0ToUBound(ArrMap,1)MoveToarrmap(i,0),arrmap(i,1)TracePrintarrmap(i,0)&","&arrmap(i,1)LeftClick1NextSubStrToArr(字符串)Dimi,j,arrX,arrYarrX=Split(字符串,">")Fori=0ToUBound(arrX)arrY=Split(arrX(i),",")Forj=0ToUBound(arrY)Ifj=0andi=0ThenRedimArrMap(UBound(arrX),UBound(arrY))EndIfArrMap(i,j)=arrY(j)nextNextEndSub注意:Ifj=0andi=0ThenRedimArrMap(UBound(arrX),UBound(arrY))EndIf这里为什么要在j和i都等于0的时候,定义数组ArrMap的维数和元素个数呢?因为当j=0andi=0的时候,循环才刚刚开始,而二维数组必须要定义才能使用,所以我们需要在循环开始的时候定义,并且,只定义一次。

6、方法二字符串="345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"坐标=Split(字符串,">")Fori=0ToUBound(坐标)Execute"MoveTo"&坐标(i)MsgBox坐标(i)Next这里使用了vbs的Execute语句:执行一个或多个指定的语句。将Moveto坐标(i)直接转换为可执行语句,是一种简单暴-力的解决方法,大赞!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢