舞月版教程 - 第2課:零編程學會補紅藍腳本的製作
補紅藍腳本的製作
本教程歡迎轉載,但請註明:轉載自簡單游官方論壇:bbs.jdyou.com
作者:舞月
我們應該知道,按鍵精靈擁有一隻眼睛,一雙手,眼睛可以幫我們查看屏幕上的顏色,而手可以幫我們不斷的點擊鍵盤鼠標。相信多數的朋友對於這雙手的操控已經靈活自如了,而要編寫出功能強大的腳本,沒有眼睛可不行。本教程以此出發,教會讀者使用這雙眼睛,更好的控制機器人的手臂。
本章用到的按鍵精靈基礎命令:
1、
IfColor 100 10 112233 0
EndIf
IfColor做為按鍵精靈最重要的顏色判斷語句(眼睛),有著良好的易用性與理解性。
語句詳細解釋:
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」則是無條件跳到此標記執行。這裡補一下程序運行概念:每行代碼都有行號,腳本解釋器要一行一行代碼的執行下去,知道執行最後一行代碼或碰到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,持續不斷的執行上面的過程。原來的ifcolor最後的0改為了1(1為不等於)。加了暫停的Delay(不讓腳本的CPU佔用率過高)。這時,你的這段代碼已經可以補紅了。補藍的代碼請自行加入,做為作業。
好了,這節已經結束。大家多注意休息,不要勞神哦~ 什麼?代碼不好使?顏色不對。好好,我加個補充說明。
補充說明:
如果按步驟寫了以上代碼並不好使,那麼可能是顏色出現問題。解決方法給出幾個供參考
1、取血條底色,如果顏色等於底色則執行加血的操作。
2、用模糊取色,如果顏色大約等於血色則,否則加血。或,如果顏色大約等於底色則加血(這裡是模糊匹配和else的運用)
以上兩點也為各遊戲常遇到問題的解決辦法。多多實驗,總會成功的。
最後說一點,按鍵精靈是不區分大小寫的。可以隨便寫~~~