A. 请问如何让按键精灵判断颜色变化后执行脚本
颜色变没旦化,包含两层意思,第一种情况,当某点颜色一直是某个颜色,当颜色变化时,执行脚本。
第二种情况,当某点颜色不固定,直到出现某个颜色,执行脚本。这两种情况某些时候写代码是不一样的,根据你这里说的意思,不管是哪种情况都可以实现你的功能,用IfColor即可,假如银渗你要求有相似度锋察脊,就用FindColor,找色范围缩小到某一点,也可以。
B. 按键精灵判断找到图片数量判断执行后面语句、、
您好。。你的代码写磨漏歼的与你的意图明显错误。错误在以下:
FindPic 0,0,1700,950,"Attachment:\敌人兵力.bmp",0.9,bjX,bjY
FindPic bjX-1100,bjY-498,1700,950,"Attachment:\铁瞎冲骑.bmp",0.9,kkcX,kkcY
If kkcX <= 2 And kkcY <= 2 Then
End If
这里搜卖的“If kkcX <= 2 And kkcY <= 2 Then ” 的下面你根本没写满足条件后的操作然后再End If,所以不管它有没有满足条件,他还是会继续往下走。所以你可以加一个条件,找不到是否继续循环找一直找到为止,还是找不到就停止脚本,还是找其他图,你必须要把条件补充完成,否则按键精灵是按顺序读写源码的。
很高兴为您解答,希望能采纳!
C. 按键精灵 脚本图片判断
显然,你的程序逻辑错了,为了清晰的表示你的逻辑,我调整了你代码的位置,希望你以后能够养成一个好的程序习惯,便于检简数查和分析,我没有改变你代码,只是在适当的位置低格了:
FindPic 1369, 801, 1387, 820, "Attachment:\图片A.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\1.bmp", 0.9, aaX, aaY
If aaX > 0 And aaY > 0 Then
MoveTo aaX, aaY
Delay 1000
LeftClick 1
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\9.bmp", 0.9, bbX, bbY
If bbX > 0 And bbY > 0 Then
MoveTo bbX, bbY
Delay 1000
LeftClick 1
Delay 1000
ElseIf intX <= 0 And intY <= 0 Then
FindPic 1369, 801, 1387, 820, "Attachment:\图片B.bmp", 0.9, iX, iY
If iX > 0 And iY > 0 Then
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\0.bmp", 0.9, intX, intY
If intX >拦告首 0 And intY > 0 Then
MoveTo intX, intY
Delay 1000
LeftClick 1
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\2.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
Delay 1000
LeftClick 1
Delay 1000
End If
End If
End If
End If
End If
End If
你的程序结构是:
FindPic 1369, 801, 1387, 820, "Attachment:\图片A.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
//中间有许多代码。
End If
显然,你的逻辑,如果没有找到图,中间那么多代码是不会执行的,你看下面两个例子:
//例子1,条件是a>0和b>0,c=0;a>0和b<=0,c=1;a<=0时,不执行第二友竖个if
If a > 0 Then
If b > 0 Then
c = 0
Else
c = 1
End If
End If
//例子2,条件是a>0和b>0,c=0;a<=0时,c=0,不执行第二个if
If a > 0 Then
If b > 0 Then
c = 0
End If
Else
c = 1
End If
你用到的逻辑是例子2,但是你写的逻辑是例子1,下面我根据你的变量,大概知道你的逻辑,帮你修改了一下,你再理解的基础上可以再更改,代码如下:
FindPic 1369, 801, 1387, 820, "Attachment:\图片A.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\1.bmp", 0.9, aaX, aaY
If aaX > 0 And aaY > 0 Then
MoveTo aaX, aaY
Delay 1000
LeftClick 1
Delay 1000
End If
//找图1执行完了,要结束这个条件语句,如果没有End If,就变成了必须找到图1,才执行下面找图9
FindPic 0, 0, 1440, 900, "Attachment:\9.bmp", 0.9, bbX, bbY
If bbX > 0 And bbY > 0 Then
MoveTo bbX, bbY
Delay 1000
LeftClick 1
Delay 1000
End If //找图9执行完了,要结束这个条件语句。
//下面找图B里面的End If和上面一样,我就不再详细解释了。
ElseIf intX <= 0 And intY <= 0 Then //这里可以直接写Else
FindPic 1369, 801, 1387, 820, "Attachment:\图片B.bmp", 0.9, iX, iY
If iX > 0 And iY > 0 Then
Delay 1000
FindPic 0, 0, 1440, 900, "Attachment:\0.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
Delay 1000
LeftClick 1
Delay 1000
End If
FindPic 0, 0, 1440, 900, "Attachment:\2.bmp", 0.9, intX, intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
Delay 1000
LeftClick 1
Delay 1000
End If
End If
End If
D. 用按键精灵怎样自动识别一张图片中指定位置的数字,再去执行下一步脚本!
首先,你提供的闷迹图片位置上的数字问题。如果这个辩历数字是类似验证码那一类的异性字符,那这脚本的携罩搜难度就有点大。如果只是单纯的普通文字,那这脚本并不复杂。
E. 按键精灵根据图片判断下一步脚本执行
你问得很模糊
先说下滚裤找图
如果是按键精灵自己带的那张图片,肯定是不会找不到的
估计你是说的自己截的图片
那么如果是自己截的图片,你想百分百找到的话,一定要处理截图的
怎么处理昌备芹??把背景色全部涂成同一种颜色。
然后说执行的问题,找不到图片是不会执行IF和ENDIF之间的语句的(如果中耐毕间没有ELSE)建议你用调试,然后一句一句测试代码,比较容易找出问题
最后说一下,你要找什么图,都必须要原汁原味效果才好,大小不一致是找不到的,估计人家说要放大是叫你放大了处理图片方便点
F. 如何用按键精灵来判断图片来点击鼠标
1、首先,打开按键精灵后,我们不要选择新建脚本那边的操作,直接选择“第一轿嫌次做脚本”。
G. 按键精灵 根据图片判断执行脚本
我也喜欢玩游戏,自己也会制作一些简单的脚本,然后给帮里的兄弟使用。你的问题如下:
执行到找图命山销令的时候,图片还没出现。也就是说,时机不对。
建议如下:
1、找图命令前面增加延时命令,Delay XXXX。延时时间你自己要多次调试才能恰到好处。我也经常为这个头痛,因为游戏画面出现时和缺间不好把握,而且有时卡机就更容易出问题。。
2、再进一步,我会将每个找图命令做个循环3--5次唤唯辩。如果找到图片,在执行命令里加一句“EXIT FOR” 退出循环,这样能保证找图的命中率,也保证了效率,不会有多余执行指令。
H. 按键精灵识别图片再执行命令
下面是我的脚本:
===================================
While 1 //主循环
FindPic 0,0,1024,768,"Attachment:\a.bmp",0.9,intX,intY //开始找图A
If intX > 0 And intY > 0 Then
//找到了就执行录制的命令
Else
FindPic 0,0,1024,768,"Attachment:\b.bmp",0.9,intX,intY //找不到就开始找图B
If intX > 0 And intY > 0 Then
//找到了执行命令
End If
End If
Delay 100 //防死循环
Wend //找不到则回到开始找图A
===================================
希望我的回答对你有帮助!^o^
I. 按键精灵脚本、根据颜色判断执行什么脚本
老兄,你把问题的逻辑复杂化了吧,你是不是想要,观察某点的颜色,一但发生变化就按一下F1,这时颜色就回过来,就OK了?N年前我玩热血江湖自动加红蓝就这样搞的,你是不是想要这样?一样的原理,一个脚本OK,不需要写成几个,多麻烦呀。
给个脚本你看就明白了:
Rem 找色
Delay 128 //延时128毫秒
IfColor 120,5,1418,1 //监视坐标点120,5的颜色,若颜色不是#1418(坐标点就看你分辨率咯,最左上角起为0,0,最右下角就是你分辨率的最大值咯,好比我的1024,768。后面的1是不等于,0是等于,2是约等于,颜色你自己定咯,按键里面抓点抓色可以找颜色值和坐标的啦)
KeyPress 112,1//按下F1
Else //否则
Delay 128
EndIf //条件结束
Goto 找色 //跳转到标记“找色”再来
明白了不?要靠脑子。
J. 按键精灵----根据图片判断控制下一步脚本运行
VBSCall Call FindPic(0,50,1023,767,"毁神1.bmp",0.9,intX,intY)
If intX>=0 and intY>=0
图片1需要对应的脚本
endif
VBSCall Call FindPic(0,50,1023,767,"2.bmp",0.9,intX,intY)
If intX>=0 and intY>=0
图片2需要纤中亏对应的脚本
endif
VBSCall Call FindPic(0,50,1023,767,"3.bmp",0.9,intX,intY)
If intX>培袭=0 and intY>=0
图片3需要对应的脚本
endif
3个判断新婚须进行就可以,,如果要别的方式那么:
if 判断1.bmp
对应1.bmp的脚本
else
if 判断2.bmp
对应2,bmp的脚本
else
if 判断3.bmp
对应3.bmp的脚本
endif
endif
endif