过程语句的学习
接第2课,零编程学会补红蓝脚本的制作本节想学会使用Sub和GoSub语句的使用,以及对第2节没有解释清楚的地方加以补充。
Sub作为一个过程语句的关键字,在代码重用和逻辑编排上起着至关重要的作用。先看一下关键字的说明:
- Sub [过程名]
- //这里的部分就是过程体(自命名,可以看的懂就好)了。可以添加执行代码。
- Return
复制代码解释:[过程名]可以随意更改,起一个可以很容易理解的名字。是书写代码的良好习惯,也可以使用中文。Return 语句的作用是返回调用点。
GoSub [过程名]
解释:gosub顾名思义,到sub。sub可以理解为过程、函数、方法。叫法不同,原理一样。
我们改装上次讲过的补红蓝脚本:
- Sub main
- Rem s
- Gosub add_hp
- Gosub add_mp
- Delay 100
- Goto s
- Return
- Sub add_hp
- IfColor 126,19,4a5110,1
- KeyPress 116,1
- EndIf
- Return
- Sub add_mp
- IfColor 126,19,4a5110,1
- KeyPress 117,1
- EndIf
- Return
复制代码以上代码组成一个完整的体系,并且结构合理,清晰。易于看懂。通常会把执行单一功能的一块代码做为一个sub。比如补红蓝脚本,一个主控sub,一个补红,一个补蓝。要修改哪部分,只要在对应的sub中修改即可。
sub main只是一种编程习惯,在按键精灵里,如果没有碰到goto、gosub这两个语句(另外还有几个会发生跳转,以后章节就讲到)是不会发生跳转代码行号的,只是顺序执行,在碰到sub时,直接忽略该行语句,执行下一条。
我们来看下面代码:
- Sub main
- Gosub test
- Return
- MessageBox "测试"
- Sub test
- MessageBox "测试"
- Return
复制代码该代码在按键精灵5.2以前的版本中(包括5.2)都会执行不正常。5.2版的执行结果为一直弹出“测试”提示框,而不是只弹出一次。这个错误在5.3版以及后续版本,都已经改正,所以在学习当中,尽量使用最新版本的按键精灵,以后的教程也都根据按键精灵最新的5.6版来讲解。
代码含义补充说明:
解释:
KeyPress - 按某一个键的关键字(在键盘选项卡里可以找到)
116 - F5键的虚拟键值码(在键盘选项卡里最下面左边的文本框可以按下键盘各种键,查询虚拟键值码。也可反之)
1 - 按1次(改成2就是按两下)
以上说明适合keydown(按键按下)、keyup(按键弹起)、leftclick(鼠标左键点击)等