[良心教程]分享最新最實用的按鍵精靈封裝函式

金豬指令碼(原飛豬指令碼)以按鍵精靈教學為主,涉及UiBot,Python,Lua等指令碼程式語言,教學包括全自動辦公指令碼,遊戲輔助指令碼,引流指令碼,網頁尾本,安卓指令碼,IOS指令碼,註冊指令碼,點贊指令碼,閱讀指令碼以及網賺指令碼等各個領域。想製作指令碼和學習按鍵精靈的朋友可以新增按鍵精靈學習交流群:554127455 學習路上不再孤單,金豬指令碼伴你一同成長。

[良心教程]分享最新最實用的按鍵精靈封裝函式

個結構好的指令碼,往往都是多個模組組成的,由模組來組合而成的程式碼,結構流程清晰便於閱讀,不管是給其他人參考還是自己日後的維護,都是有很大幫助的。

雖然在不同的遊戲裡需要編寫不同功能的模組,但是還有一些模組是可以通用的,這些模組編寫好之後可以放在其他的腳本里使用。這種模組就被稱為“基礎模組”

指令碼模組化

一般情況下一個完整的指令碼是有三大部分來組成的:主程式模組、功能模組、基礎模組

主程式模組就是用來實現指令碼整體功能的,或者是用來控制指令碼要執行什麼功能的部分。比如LOL指令碼使用他進行人機匹配還是統治戰場模式,這個部分就屬於主程式模組。他只負責進行全域性的操作,不管細節。

功能模組就是用來具體實現某個功能的部分,還是以LOL指令碼為例,像是實現人機匹配的戰鬥,識別血量等等這種操作都是功能模組的作用。

基礎模組就是最基本的一些操作了,比如點選、找圖、找色等等功能。這種基礎模組往往和遊戲本身沒有關聯,不會受到遊戲的限制,可以隨時放到其他的指令碼中使用。

大家在編寫指令碼的過程中不要小看基礎模組。別以為找圖找色命令也就2、3行程式碼,封裝和不封裝感覺差不多。當你在程式碼中頻繁的使用這些程式碼之後,你就會發現沒封裝成函式的話會讓程式碼整體看上去非常的亂,到最後可能你自己都不知道寫了什麼東西。

所以~~要多封裝函式!要多封裝函式!要多封裝函式! (重要的事情要說三遍)

常用的基礎模組

[良心教程]分享最新最實用的按鍵精靈封裝函式

滑屏模組

在安卓上滑屏是個比較頻繁的操作,所以很有必要把他封裝成函式。用Swipe 命令進行滑屏的話,很容易出現慣性,就是滑動停止後螢幕還是處於滑動狀態,很不好控制,所以我們可以封裝下面的這個函式實現滑屏

Function 滑屏(陣列)

Dim arr

arr = 陣列

TouchDown arr(0), arr(1),1

TouchMove arr(2), arr(3),1,200

TouchUp 1

Delay 200

End Function

複製程式碼

使用範例:

‘把滑動的兩個點記錄到數組裡方便呼叫

上滑 = Array(683, 945, 155, 974)

Call 滑屏(上滑)

複製程式碼

點選模組

點選這種頻繁的操作肯定是要封裝的

Function 點選(陣列)

Dim arr

arr = 陣列

Tap 陣列(0),陣列(1)

End Function

複製程式碼

使用範例:

按鈕 = Array(169, 180)

Call 點選(按鈕)

複製程式碼

截圖到記憶體:

在找色或者找圖之前先使用KeepCapture 截圖到記憶體,可以加快找圖找色的速度,所以我們可以把這個封裝起來,在找圖色之前呼叫一次

Function 截圖

ReleaseCapture

Delay 200

KeepCapture

End Function

複製程式碼

PS:這裡為什麼要先寫 ReleaseCapture 這個釋放截圖的命令呢? 這種寫法可以利用到迴圈找圖色結構當中。如果先寫KeepCapture命令的話,那在迴圈結束後沒有從記憶體資訊中把圖片釋放掉,就會導致下一次的找圖色失敗,所以先釋放一次,然後再截圖

[良心教程]分享最新最實用的按鍵精靈封裝函式

使用範例:

Do

Call 截圖()

FindPic 0, 0, 0, 0, “Attachment:1。png”,“000000”,0, 0。8, intX, intY

If intX >-1 then

TracePrint “找到啦,座標是”&intX&“,”&intY

Else

TracePrint “沒找到”

End If

Loop

複製程式碼

通用找色模組

在安卓的實際編寫過程中用的最多的就是多點找色,多點比色這樣的命令了。所以可以把這些封裝進去

Function 通用找色(陣列)

通用找色 = False

Dim arr,intX,intY

’多點找色

If (IsNumeric(陣列(0)) = True) and (IsNull(陣列(5)) = False) Then

FindMultiColor 陣列(0), 陣列(1), 陣列(2), 陣列(3), 陣列(4), 陣列(5), 0, 0。9, intX, intY

If intX > -1 Then

通用找色 = True

End If

‘多點比色

ElseIf IsNull(陣列(1)) = True

If CmpColorEx(陣列(0), 0。9) = 1 Then

通用找色 = True

End If

End If

End Function

複製程式碼

這樣的函式可以根據傳入的陣列引數不同,同時相容多點找色或者多點比色

使用範例:

’867,359,956,445 這個是多點找色的範圍

‘按鈕A是用多點找色命令,按鈕B使用多點比色

按鈕A = Array(867,359,956,445,“A54C08”,“0|9|E5B500,0|48|A54C08,2|76|FFFFFF,117|143|2E2BE6”)

按鈕B = Array(“1039|1682|FFFDF3,1010|1685|FFF4B9,1032|1664|D67705,1005|1731|FD6E0A,990|1679|FFFFFB”)

If 通用找色(按鈕A) = True Then

TracePrint “多點找色找【按鈕A】成功”

ElseIf 通用找色(按鈕B) = True Then

TracePrint “多點比色找【按鈕B】成功”

End If

複製程式碼

[良心教程]分享最新最實用的按鍵精靈封裝函式