收藏 分销(赏)

简单易懂的按键精灵多线程教程.doc

上传人:xrp****65 文档编号:7459181 上传时间:2025-01-05 格式:DOC 页数:9 大小:725KB 下载积分:10 金币
下载 相关 举报
简单易懂的按键精灵多线程教程.doc_第1页
第1页 / 共9页
简单易懂的按键精灵多线程教程.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
【简单易懂】教大家如何用按键精灵多线程处理,附带如何抓图教程 看完之后如果还有些地方不能把握,可以参考经验片,程序是死的,人脑是活的 ====================================================================   准备工作 1. 游戏截图一张.....(必然的) 2.按键精灵...(这不是废话么),这里我用的是按键精灵8 3.如果看不懂我也没办法了,我认为我写的够清楚了 有了以上2样东西,我们就可以实现一切功能了,这里为了体现多线程的含义,就拿摸猪做个例子吧! 原代码等下附上 ---------------------------------------------------如何制作按键精灵需要的图片------------------------------------------------------------------------------ 这里是重中之中~~做不好图,在好的源码也不认识!!!! 根据例行要求,当然是准备游戏截图一样了,图在下面 因为摸的是药草,所以我们把图片放大8背后(这里用WINDOWS自带的画图工具便可)截取需要的图片应该是这个样子的 然后咱们用铅笔工具把周围都涂上其他的颜色(4个顶点颜色必须一样),这样呢,程序就会把背景色当成透明色,方便找到"阳光药草"这4个子 就变成这个样子了 然后我们将改好的图片 另存为24位BMP图像变可 因为不同的电脑,不同的系统,图片显示的可能不一样,所以授人以鱼不如授人以渔 为了方便大家吸收,特地找来了一张GIF图片,帮助大家吸收 抓图部分 做图部分 ----------------------------------------------------------------代码部分-------------------------------------------------------------------------------------------- 因为是摸猪,我希望摸完猪后通过图片来识别草,并且拿起来,所以这里咱们要做的图不只一张, 这里笔者也不一一举例了,大家按照上面的方法做图便可...... 有了图,接下来的当然就是代码部分,这里我要谈谈帖子开头便引入的多线程概念 Q&A Q:什么是多线程? A:在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。 Q:多线程处理有什么好处? A:程序的运行速度可能加快!拿我们这个帖子的找图为例,大家是希望我们的程序找完一张在接着找另外一张图呢?还是希望 我们的程序同时找多张图片呢?可是这里,我们的图片高达5张多.......答案很明显,同时找多张图片的效率要快的多...... 这里为了让大家知道多线程在按键精灵中的用法,我写了个简单的小例子 BeginThread ms1       BeginThread ms2 Sub ms1   MsgBox "线程1" End Sub Sub ms2   MsgBox "线程2" End Sub 这段代码相信大家都看的懂吧,就是让程序弹出2个对话框 分别是“线程1”  “线程2” 为了体现多线程的好处,我们在看看这段代码不用多线程的写法 Call ms1 Call ms2 Sub ms1   MsgBox "线程1" End Sub Sub ms2   MsgBox "线程2" End Sub 大家可以把这2段代码复制进按键精灵,运行一下,我们可以看到,多线程处理的代码,对话框时同时弹出来的 而,普通的代码运行则是先弹出“线程1” 等我们点了【确定】按钮再弹出“线程2” 下面谈谈找图的函数 FindPic 0,0,1024,768,"Attachment:\基础药草.bmp",0.7,intX,intY       ---->这句话的意思是让程序找指定图片 If intX > 0 And intY > 0 Then              ---->如果找到intX,intY的值都是大于0的,不然是-1,所以这里判断找到图了没 KeyDown "Alt", 1                                 ----> Delay 500                                                        找 MoveTo intX,intY                                                   到 MoveR 10,10                                                               图 Delay 200                                                                          后的 LeftClick 1                                                                                  一系列 KeyUp "Alt", 1                                                                                      操作              <--- End If ------------------------------------------------------------例子的思路--------------------------------------------------------------------------------------------- 功能很简单: 摸猪完了以后,把掉在地上的草捡起来................. 思路:因为摸一次只会掉1种草,于是我们让程序同时找多种草,如果有一种就捡起来 下面我把我写的代码放出 Hwnd = Plugin.Window.Find(0, "洛奇") Plugin.Window.Active(Hwnd) //激活洛奇窗体 Delay 100 Dim jx,jy,number //准备开始脚本,请将鼠标指向猪的位置" GetCursorPos jx,jy //获得猪的坐标,因为脚本开始先鼠标指向了猪,获得鼠标的坐标就是获得了猪的坐标 number = inputBox("输入要摸的次数后,按回车等待3秒开始摸猪") For number Delay 3700 Call 开始摸猪 Delay 3000 Call 多线程找图 Next MessageBox "请注意给猪或则牛补蓝" Sub Selectcao1 //找基础药草 FindPic 0,0,1024,768,"Attachment:\基础药草.bmp",0.7,intX,intY If intX > 0 And intY > 0 Then KeyDown "Alt", 1 Delay 500 MoveTo intX,intY MoveR 10,10 Delay 200 LeftClick 1 KeyUp "Alt", 1 End If End Sub Sub Selectcao2 //找血红药草 FindPic 0,0,1024,768,"Attachment:\血红药草.bmp",0.7,intX,intY If intX > 0 And intY > 0 Then KeyDown "Alt", 1 Delay 500 MoveTo intX,intY MoveR 10,10 Delay 200 LeftClick 1 KeyUp "Alt", 1 Else End If End Sub Sub Selectcao3 //找魔法药草 FindPic 0,0,1024,768,"Attachment:\魔法药草.bmp",0.7,intX,intY If intX > 0 And intY > 0 Then KeyDown "Alt", 1 Delay  500 MoveTo intX,intY MoveR 10,10 Delay  200 LeftClick 1 KeyUp "Alt", 1 End If End Sub Sub selectcao4 //找白色药草 FindPic 0,0,1024,768,"Attachment:\白色药草.bmp",0.7,intX,intY If intX > 0 And intY > 0 Then KeyDown "Alt", 1 Delay 500 MoveTo intX,intY MoveR 10,10 Delay 200 LeftClick 1 KeyUp "Alt", 1 End If End Sub Sub selectcao5 //找阳光药草 FindPic 0,0,1024,768,"Attachment:\阳光药草.bmp",0.6,intX,intY If intX > 0 And intY > 0 Then KeyDown "Alt", 1 Delay 500 MoveTo intX,intY MoveR 10,10 Delay 200 LeftClick 1 KeyUp "Alt", 1 End If End Sub // 这里把多线程操作封装在了一个子程序里 Sub 多线程找图 BeginThread Selectcao1 BeginThread Selectcao2 BeginThread Selectcao3 BeginThread Selectcao4 BeginThread Selectcao5 End Sub Sub 开始摸猪 MoveTo jx,jy Delay 500 LeftClick 1 End Sub -----------------------------------------------------------------------温馨提示----------------------------------------------------------------- 经过本人试验,多线程操作对于按键精灵来说有一定的缺陷,我们尽量不要用多线程处理对键盘进行一些操作 ,不然会出BUG 看帖回帖是美德!谢谢
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服