舞月版教程 - 第3課:過程語句的學習
過程語句的學習
本教程歡迎轉載,但請註明:轉載自簡單游官方論壇:bbs.jdyou.com
作者:舞月
接第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 1
解釋:
KeyPress - 按某一個鍵的關鍵字(在鍵盤選項卡裡可以找到)
116 - F5鍵的虛擬鍵值碼(在鍵盤選項卡裡最下面左邊的文本框可以按下鍵盤各種鍵,查詢虛擬鍵值碼。也可反之)
1 - 按1次(改成2就是按兩下)
以上說明適合keydown(按鍵按下)、keyup(按鍵抬起)、leftclick(鼠標左鍵點擊)等