舞月版教程 - 第2课:零编程学会补红蓝脚本的制作
补红蓝脚本的制作
作者:舞月
我们应该知道,按键精灵拥有一只眼睛,一双手,眼睛可以帮我们查看屏幕上的颜色,而手可以帮我们不断的点击键盘鼠标。相信多数的朋友对于这双手的操控已经灵活自如了,而要编写出功能强大的脚本,没有眼睛可不行。本教程以此出发,教会读者使用这双眼睛,更好的控制机器人的手臂。
本章用到的按键精灵基础命令:
1、
IfColor 100 10 112233 0
EndIf
IfColor做为按键精灵zui重要的颜色判断语句(眼睛),有着良好的易用性与理解性。
语句详细解释:
ifColor - 如果颜色
100 - 屏幕X象素
10 - 屏幕Y象素
112233 - 16位进制的颜色(以两位为一种颜色分别代表蓝、红、黄)
0 - 相等(1为不相等。2为模糊匹配)
解释:如果在坐标100,10的颜色为112233则执行。后面的EndIf做为IfColor的配对。
使用方法:控制命令->抓点坐标/颜色->在面图上点左键,加入到坐标点->退出抓点->选好坐标颜色后->插入
2、
//注释
解释:“//”为按键精灵的注释在“//”后面所跟写的任何文字都将被按键忽略。
3、
Rem s
Goto s
解释:“Rem s”可以理解为在改位置做一个标记s。而“Goto s”则是无条件跳到此标记执行。这里补一下程序运行概念:每行代码都有行号,脚本解释器要一行一行代码的执行下去,知道执行zui后一行代码或碰到EndScript语句(该语句在后面会有讲解),没有任何可执行了,程序就退出。
4、
Delay 100
解释:暂停100毫秒(1000毫秒 等于 1秒)
看完了概念,我们来实际编写一个游戏的补红补蓝脚本,验证我们是否已经学会了该课的内容。
首先打开按键精灵,并进入游戏,用PrintScr(一般在F12右边第一个)键截取游戏图象。然后切换到按键精灵程序。按ifcolor的使用方法来抓取我们的血条颜色坐标。并且插入到代码内。
此时,我们可以看到在按键精灵里多出了三条语句(在源代码那边哦):
IfColor 126 19 4a5110 0
Else
EndIf
其中else是否则的意思,就是说如果上面的ifcolor不成立,则执行else下面的语句。我们先写个测试代码,看看取得的颜色是否正确
IfColor 126 19 4a5110 0
MessageBox 颜色正确
Else
MessageBox 颜色不对
EndIf
如果只弹出“颜色正确”那么恭喜你,您离成功很近了。如果颜色不对,请检查是不是颜色那里出现错误。直到弹出“颜色正确”就可以继续学习了。
我们继续。
修改代码如下:
Rem s
IfColor 126 19 4a5110 1
//使用F5的红药
KeyPress 116 1
EndIf
Delay 100
Goto s
注意以上代码。增加了rem..goto,持续不断的执行上面的过程。原来的ifcolorzui后的0改为了1(1为不等于)。加了暂停的Delay(不让脚本的CPU占用率过高)。这时,你的这段代码已经可以补红了。补蓝的代码请自行加入,做为作业。
好了,这节已经结束。大家多注意休息,不要劳神哦~ 什么?代码不好使?颜色不对。好好,我加个补充说明。
补充说明:
如果按步骤写了以上代码并不好使,那么可能是颜色出现问题。解决方法给出几个供参考
1、取血条底色,如果颜色等于底色则执行加血的操作。
2、用模糊取色,如果颜色大约等于血色则,否则加血。或,如果颜色大约等于底色则加血(这里是模糊匹配和else的运用)
以上两点也为各游戏常遇到问题的解决办法。多多实验,总会成功的。
zui后说一点,按键精灵是不区分大小写的。可以随便写~~~