當前位置:編程學習大全網 - 編程語言 - 按鍵精靈怎麽使用

按鍵精靈怎麽使用

本教程歡迎轉載,但請註明:轉載自簡單遊官方論壇: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的運用)

以上兩點也為各遊戲常遇到問題的解決辦法多多實驗,總會成功的

最後說壹點,按鍵精靈是不區分大小寫的可以隨便寫~~~

過程語句的學習

本教程歡迎轉載,但請註明:轉載自簡單遊官方論壇:bbs.jdyou.com

作者:舞月

接第2課,零編程學會補紅藍腳本的制作

本節想學會使用Sub和GoSub語句的使用,以及對第2節沒有解釋清楚的地方加以補充

Sub作為壹個過程語句的關鍵子,在代碼重用和邏輯編排上啟著致關重要的作用先看壹下關鍵字的說明:

Sub [過程名]

//這裏的部分就是過程體(自命名,可以看的懂就好)了可以添加執行代碼

Return

解釋:[過程名]可以隨意更改,啟壹個可以很容易理解的名字是書寫代碼的良好習慣,也可以使用中文Return 語句的作用是返回調用點

GoSub [過程名]

解釋:gosub固名思意,到subsub可以理解為過程、函數、方法叫法不同,原理壹樣

我們改裝上次講過的補紅藍腳本:

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(鼠標左鍵點擊)等

很多初學者都會迷惑,什麽是變量

個人覺得變量是編程入門的壹道門檻介紹變量概念的文章很多,這裏先做易於理解的比喻,再從語言層面上進行講解如果妳已經了解了變量的含義,則請跳過此節

變量,妳可以理解為超市的存包櫃每壹個變量對應壹個櫃子而櫃子的號碼就是變量名想要哪個櫃子裏的東西(數據),就對應的找哪個變量名變量名可是妳自己命名的哦~

我們看例子:

a=1

把數字1放進櫃子a中

b="妳猜對了嗎?"

把字符串 妳猜對了嗎? 放進櫃子b中字符串必須用""包含

dc=3.14159265

把小數放進櫃子dc中

num1=1

num1=33

num2=55

sum=num1+num2

首先把33和55分別放入num1和num2中然後把他們取出來,做加法操作(加法是由CPU來處理的),把結果放在sum中結果sum等於88

num1=1

num1=33

num1被給值為1,然後又給值為33此時,num1中存儲是的331就被覆蓋掉了沒有了:)

sum=sum+1

這句不等同於數學的加法,也是初學者不容易理解的地方我們只要想,把sum拿出來和1做加法,再放回sum中就可以了sum原來的值是88,做完加法後,sum等於89

pig=1

pig=pig*3+pig

能猜出pig最後等於幾麽?1*3+1結果是4

好,相信到這裏,妳應該明白變量是怎麽回事了變量的加減法已經會發,乘除法作為作業嘍更高級的應用,將來以後的章節進行講解下面大致說壹下C語言中的變量

C語言比較接近於系統底層,更易於理解變量的機制當代碼中有a=2的時候,則在內存中分配壹小塊區域來存儲這個變量,然後把2放在該內存的區域中當執行b=a的時候,則通過變量名a提取出它的值數字2在放在b在內存中的區域中!

當然,在語言實現層面也並非我上面說的寥寥幾句,但這都並不是我們關心的我們只要明白,變量、變量名是什麽,以及怎麽給他賦值,怎麽提出他的值就可以了,畢竟我們要的只是應用如果有興趣知道更多,使用搜索引擎就可以得到妳想要的答案了

條件語句的使用

本教程歡迎轉載,但請註明:轉載自簡單遊官方論壇:bbs.jdyou.com

作者:舞月

所謂條件語句,即“滿足”或“不滿足”,也可以理解為“是”或“否”比如在上幾節說過的ifcolor,既屬於此類

按鍵精靈中,條件語句只有兩個:ifcolor..else..endif和if..else..endif

ifcolor語句不再講解,這節把重點放if上也為鞏固上壹節中變量的知識

if語句的格式:

If [條件表達式]

//這裏可以寫功能代碼

Else

//這裏可以寫功能代碼

EndIf

解釋:

if後面跟壹個空格鍵,然後寫條件表達式這裏是很明顯的“是”與“非”劃分

所謂“條件表達式”,既條件的結果只有兩個值:“真/假”如:1=1(真) 1=2(假) 1>2(假) 1<2(真)把類似於這樣的值放在壹起對比,即可得出if語句之後要執行的路線

上面的內容對初學者來講,可能比較難以理解消化建議看過下面的內容,再回頭看壹遍上面的文字,之所以把這部分放在開頭,是為了加深以下文字的理解

先來做壹個實際的例子:

If 1>3

MessageBox 不成立

Else

MessageBox 成立

EndIf

把上面代碼放在按鍵精靈中執行,可以直觀的看到結果,然後在把“>”換成“<”試壹下可以加深對條件語句的理解!

這個例子並沒有實際作用但考慮做為導讀,直觀性比較強下面來做壹個稍微復雜的:

n=1

Rem s

n=n+1

If n mod 2=0

VBSCall Call MessageBox("偶數:" & n)

EndIf

Goto s

妳能只憑理解力就可以猜出以上代碼的結果麽?猜不出就把他放在按鍵精靈下面執行壹次,看看效果!

這裏有幾個知識點:

1、rem s和goto s組成壹個循環體,不斷執行

2、n=n+1讓n這個變量在每次循環時自身數值遞增1(對這句不大理解的,可以參看前壹節)

3、n mod 2首先解釋壹下mod的意義,mod是取余(余是什麽?如果妳有小學2年級的書,可以翻查壹下,我在後面也會有對比講解)

4、&代表字符串連接符

再看壹個字符串對比的例子:

hello="妳好"

VBSCall 請輸入姓名:")

if

VBSCall Call MessageBox(hello & name & ",身份已確認")

else

VBSCall Call MessageBox(hello & name & ",身份無法確認")

endif

思路比較亂!如果看完這節還是不太理解,請從這節的開始再看壹次

可以用的條件表達式中的符號說明:

= 等於號 對比兩個值是否相等相等返回真,不等返回假

> 大於號 當左值大於右值時,返回真,否則返回假

< 小於號 當左值小於右值時,返回真,否則返回假

>= 大於等於號 當左值大於或者等於右值時,返回真,否則返回假

<= 小於等於號 當左值小於或者等於右值時,返回真,否則返回假

可以用在數值計算中的符號說明:

+ 加 兩個數字相加,可以是小數,可以是正負數

- 減 兩個數字相減,可以是小數,可以是正負數

* 乘 兩個數字相乘,可以是小數,可以是正負數

/ 除 兩個數字相除,可以是小數,可以是正負數,但除數不能為0

mod 取余 兩個數字相余,必須是整數

字符串相連的符號說明:

& 連接符,音同:“And” 該連接符的左右必須有變量或常量

(常量的定義很簡單,就是固定的數或字符串,比如1,或者"簡單遊"都是常量,不可變)

+ 連接符 該連接符必須兩邊均為字符串才可使用壹般不用 還有壹個問題沒有交代,邏輯運算符留到以後說吧

  • 上一篇:在仙桃開壹家健康的KTV 大家暢所欲言
  • 下一篇:在線命名軟件
  • copyright 2024編程學習大全網