1、 学习游戏脚本制作:按键精灵里的if语句教程 来源:按键学院 【按键精灵】 万万没有想到……有一天居然会栽在if语句手里。 First—小编的凄惨经历 小编今早写脚本,由于无意间将if语句中的end if 错删了,弹出了这样的错误提示: “(错误码0)没有找到合法的符号。” 看到这个提示,小编以为是哪个逗号不小心写成中文逗号,没成想丢了个end if也是出现
2、这样的提示。 好在代码不多,所以错误点容易找到,那……如果,代码多达几百上千条的时候呢?眼泪马上掉出来~ 今天在这里和童鞋们一起来了解下,按键里的夫妻组合,看看这些夫妻被分开之后都会出现什么样的可怕情况: Second—一夫一妻制 If……end if 判断语句 If判断语句,有分为两种: 1、 if语句条 (条模式) 当判断完之后,要执行的语句只有一
3、条的时候,使用if语句条 例如: If 1 > 0 Then MessageBox"Hello~" // If语句条,不需要添加end if //条模式的时候,if语句还是单身,不是夫妻组合 2、 if语句块(块模式) 当判断完之后,要执行的语句有很多条的时候,使用if语句块 例如: If 1 > 0Then MessageBox"Hello~" MessageBox"Hello~" End If //块模式的时候,if语句是已婚状态,夫妻组合。如果这个时候缺少了 end if 就会出现下面的错误提示: 拓展:i
4、f语句块中 then 可以省略 例如: If 1 >0 MessageBox"Hello~" MessageBox"Hello~" End If For……next 循环语句 例子: For i=1 To 10 //这里的脚本可以循环10次 Next 拓展:如果,循环体里不需要用到循环次数值,例如,需要打开十个记事本,可以这样写: For 10 RunApp "Notepad.exe" Next 当for循环语句缺少next的时候,会出现下面的错误提示: Do……Loop 循环语句 Do……Loop循环语句分为两种情况:
5、 1、 前判断 Do While条件 Loop 在执行循环体之前判断条件,满足则进入循环不满足则不进入 例如: i=1 Do While i>1 i = i - 1 TracePrint 1 Loop //一次也不执行 2、后判断 Do Loop While条件 在执行循环体之后判断条件,先进入一次循环,执行完一次循环之后再开始判断是否满足条件 例如:
6、 i=1 Do i= i - 1 TracePrint 1 Loop While i>1 //执行一次TracePrint1 当do……loop循环语句缺少loop的时候,会出现下面的错误提示: VBS执行块 语法 : VBSBegin '需要插入的VBS代码 VBSEnd VBSBegin 缺少VBSEnd 会出现的提示: LogStart 开始记录日志 语法 : LogStart 文件名 LogSto
7、p Logstart缺少logstop 不会出现错误提示,如果忘记了logstop,蛋疼的点就是它会把你后面不需要记录的东西也记录。 注释符号 /* 和 */ 小编习惯用的注释符号是// ,如果喜欢使用/* */ 作为注释符的童鞋,需要注意一下:/* */注释符不支持嵌套使用 例如: /* /* */ */ /* 缺少*/ 会出现的提示: Third—一夫二妻制
8、 Select Case选择语句 语法: Select Case 选择条件 Case 0 //情况1 Case 1 //情况2 Case Else //否则 End Select 例子1: x=1 Select Case x Case 1 MessageBox"1" Case 2 MessageBox"2" End Select 例子2: x="Hello" Select Case x Case "Hel
9、lo" MessageBox"Hello" Case "Yes" MessageBox"Yes" End Select Select Case选择语句它是一夫二妻制度,少了Case和End Select都不行 Select Case选择语句缺少case 会出现的错误提示: Select Case选择语句缺少End Select会出现的错误提示: Function 函数 Function函数也是一夫二妻制: 老公 Function 函数(参数列表) 老婆1号End Function 老婆2号 call 语句 语法: Funct
10、ion 函数(参数列表) //我是一个函数,被你调用了 End Function Function函数分为两种情况: 1、 有参数传递 例子: x = "成功调用" call 输出(x) //带入参数x调用function函数 Function 输出(x) //参数为x MessageBox x End Function // X是字符串变量,值为"成功调用" 将x作为参数调用function函数 ,x值传入function函数 。 拓展: call 输出(x) 当我们传入function函数的值是变量的时候,我们称之为形参,也就是说这个参数是
11、可以变化的,它根据变量值的变化而变化 call 输出(5) 当我们传入function函数的值是常量数值,我们称之为实参,也就是说这个参数是不能变化的,写了5就是5。 2、 没有参数传递 例子: call 输出() Function 输出() MessageBox "成功调用" End Function 当function函数缺少 End Function 会出现的提示: Sub 子程序 语法: Sub 子程序() //我是一个过程,被你调用了 End Sub //它和function函数像是两兄弟,兄弟俩感情好到不分彼此,这不
12、哥哥function有个老婆叫call语句,弟弟sub也有个老婆叫call语句: 老公 :sub() 老婆1号:End sub 老婆2号:call 语句 Sub和function两兄弟,我们是经常使用的,他们的作用极其相似,sub也和function一样分为两种情况,有参数和没参数,详见上面funcation的说明,这里就不细说了。我们主要关注下他们不一样的地方,哪里不一样呢? Function支持返回值,而sub不支持。 Function返回值使用例子: x = "成功调用" 返回值= 输出(x) //带入参数x调用function函数 Function 输出(
13、x) x="改变" 输出=x End Function //Funcation的函数名称是用来存放返回值的。 Sub缺少end sub会出现的提示:(错误码0)没有找到合法的符号。 缺少call语句的情况参见上面的funcation,毕竟他们是兄弟~很多东西都是一样样的。 Fourth—(包办婚姻)我情你不愿 Goto跳转和Rem 标
14、记/注释 说到Rem和Goto 就感觉到淡淡的忧伤 童鞋们都知道,跳转和标记是一对的,要一起使用对吗? 可是,Rem标记它还有另外的身份,那就是注释,它并不是只钟情于Goto而已。 所以 Rem没有了Goto是可以的, 而Goto却不能没有Rem。 那句伤感的话怎么说来着:没有了我,你还有其他人,而我只有你。可怜的Goto…… Goto缺少Rem会出现的提示: Last—如何排错呢? 排错 例如do……loop这样的,出现错误之后会直接提示你缺少了loop,如果都是这样提示那就好办了,可是如果提示的是没有找到合法符号这样的呢? 乱到了一种境界…… 按下F4吧,按下之后你就解脱了。 (F4键是按键精灵里规范代码的快捷键,按下之后,代码立马自动排列整齐,快得很轻松的很) 下面拿if语句做个例子,一个六个if语句嵌套着: 少了一个end if ,肉眼想要看出来很费劲。 按下F4之后:






