简单易懂的按键精灵多线程教程.docx
- 文档编号:30353088
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:8
- 大小:16.65KB
简单易懂的按键精灵多线程教程.docx
《简单易懂的按键精灵多线程教程.docx》由会员分享,可在线阅读,更多相关《简单易懂的按键精灵多线程教程.docx(8页珍藏版)》请在冰豆网上搜索。
简单易懂的按键精灵多线程教程
【简单易懂】教大家如何用按键精灵多线程处理,附带如何抓图教程
看完之后如果还有些地方不能把握,可以参考经验片,程序是死的,人脑是活的
http:
====================================================================
准备工作
1.游戏截图一张.....(必然的)
2.按键精灵...(这不是废话么),这里我用的是按键精灵8
3.如果看不懂我也没办法了,我认为我写的够清楚了
有了以上2样东西,我们就可以实现一切功能了,这里为了体现多线程的含义,就拿摸猪做个例子吧!
原代码等下附上
---------------------------------------------------如何制作按键精灵需要的图片------------------------------------------------------------------------------
这里是重中之中~~做不好图,在好的源码也不认识!
!
!
!
根据例行要求,当然是准备游戏截图一样了,图在下面
因为摸的是药草,所以我们把图片放大8背后(这里用WINDOWS自带的画图工具便可)截取需要的图片应该是这个样子的
然后咱们用铅笔工具把周围都涂上其他的颜色(4个顶点颜色必须一样),这样呢,程序就会把背景色当成透明色,方便找到"阳光药草"这4个子
就变成这个样子了
然后我们将改好的图片另存为24位BMP图像变可
因为不同的电脑,不同的系统,图片显示的可能不一样,所以授人以鱼不如授人以渔为了方便大家吸收,特地找来了一张GIF图片,帮助大家吸收
抓图部分
做图部分
----------------------------------------------------------------代码部分--------------------------------------------------------------------------------------------
因为是摸猪,我希望摸完猪后通过图片来识别草,并且拿起来,所以这里咱们要做的图不只一张,
这里笔者也不一一举例了,大家按照上面的方法做图便可......
有了图,接下来的当然就是代码部分,这里我要谈谈帖子开头便引入的多线程概念Q&A
Q:
什么是多线程?
A:
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。
Q:
多线程处理有什么好处?
A:
程序的运行速度可能加快!
拿我们这个帖子的找图为例,大家是希望我们的程序找完一张在接着找另外一张图呢?
还是希望
我们的程序同时找多张图片呢?
可是这里,我们的图片高达5张多.......答案很明显,同时找多张图片的效率要快的多......
这里为了让大家知道多线程在按键精灵中的用法,我写了个简单的小例子
BeginThreadms1
BeginThreadms2
Subms1
MsgBox"线程1"
EndSub
Subms2
MsgBox"线程2"
EndSub
这段代码相信大家都看的懂吧,就是让程序弹出2个对话框分别是“线程1”“线程2”为了体现多线程的好处,我们在看看这段代码不用多线程的写法
Callms1
Callms2
Subms1
MsgBox"线程1"
EndSub
Subms2
MsgBox"线程2"
EndSub
大家可以把这2段代码复制进按键精灵,运行一下,我们可以看到,多线程处理的代码,对话框时同时弹出来的
而,普通的代码运行则是先弹出“线程1”等我们点了【确定】按钮再弹出“线程2”下面谈谈找图的函数
FindPic0,0,1024,768,"Attachment:
\基础药草.bmp",
0.7,intX,intY---->这句话的意思是让程序找指定图片
IfintX>0AndintY>0Then---->如果找到intX,intY的值都是大于0的,不然是-1,所以这里判断找到图了没
KeyDown"Alt",1---->
Delay500找
MoveTointX,intY到
MoveR10,10图
Delay200后的
LeftClick1一系列
KeyUp"Alt",1操
作<---
EndIf
------------------------------------------------------------例子的思路---------------------------------------------------------------------------------------------
功能很简单:
摸猪完了以后,把掉在地上的草捡起来.................
思路:
因为摸一次只会掉1种草,于是我们让程序同时找多种草,如果有一种就捡起来下面我把我写的代码放出
Hwnd=Plugin.Window.Find(0,"洛奇")
Plugin.Window.Active(Hwnd)
//激活洛奇窗体
Delay100
Dimjx,jy,number
//准备开始脚本,请将鼠标指向猪的位置"
GetCursorPosjx,jy
//获得猪的坐标,因为脚本开始先鼠标指向了猪,获得鼠标的坐标就是获得了猪的坐标number=inputBox("输入要摸的次数后,按回车等待3秒开始摸猪")
Fornumber
Delay3700
Call开始摸猪
Delay3000
Call多线程找图
Next
MessageBox"请注意给猪或则牛补蓝"
SubSelectcao1
//找基础药草
FindPic0,0,1024,768,"Attachment:
\基础药草.bmp",
0.7,intX,intY
IfintX>0AndintY>0Then
KeyDown"Alt",1
Delay500
MoveTointX,intY
MoveR10,10
Delay200
LeftClick1
KeyUp"Alt",1
EndIf
EndSub
SubSelectcao2
//找血红药草
FindPic0,0,1024,768,"Attachment:
\血红药草.bmp",
0.7,intX,intY
IfintX>0AndintY>0Then
KeyDown"Alt",1
Delay500
MoveTointX,intY
MoveR10,10
Delay200
LeftClick1
KeyUp"Alt",1
Else
EndIf
EndSub
SubSelectcao3
//找魔法药草
FindPic0,0,1024,768,"Attachment:
\魔法药草.bmp",
0.7,intX,intY
IfintX>0AndintY>0Then
KeyDown"Alt",1
Delay500
MoveTointX,intY
MoveR10,10
Delay200
LeftClick1
KeyUp"Alt",1
EndIf
EndSub
Subselectcao4
//找白色药草
FindPic0,0,1024,768,"Attachment:
\白色药草.bmp",
0.7,intX,intY
IfintX>0AndintY>0Then
KeyDown"Alt",1
Delay500
MoveTointX,intY
MoveR10,10
Delay200
LeftClick1
KeyUp"Alt",1
EndIf
EndSub
Subselectcao5
//找xx药草
FindPic0,0,1024,768,"Attachment:
\xx药草.bmp",
0.6,intX,intY
IfintX>0AndintY>0Then
KeyDown"Alt",1
Delay500
MoveTointX,intY
MoveR10,10
Delay200
LeftClick1
KeyUp"Alt",1
EndIf
EndSub
//这里把多线程操作封装在了一个子程序里
Sub多线程找图
BeginThreadSelectcao1
BeginThreadSelectcao2
BeginThreadSelectcao3
BeginThreadSelectcao4
BeginThreadSelectcao5
EndSub
Sub开始摸猪
MoveTojx,jy
Delay500
LeftClick1
EndSub
-----------------------------------------------------------------------温馨提示-----------------------------------------------------------------
经过本人试验,多线程操作对于按键精灵来说有一定的缺陷,我们尽量不要用多线程处理对键盘进行一些操作
,不然会出BUG
看帖回帖是xx!
xx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 易懂 按键精灵 多线程 教程