|
jose 發表於 Sept 11, 2017 3:31:36 GMT
前言廢話: 小弟最近剛買安卓手機(IOS用了很多年),發現這款APP之後立刻買下PRO2版
對程式語言微有研究(大概就是看個書籍而已 非本科系) 曾經寫過按鍵精靈的陽春的自動腳本(配合大漠插件),這款APP有點類似 引起了小弟的興趣
不過在寫的同時也發現一些問題點的存在,想要發問一下
問題:
1.找圖方面有滿多種方式的find()、wait()、exists()等,不過似乎這幾種找圖都是單次性的 也就是說沒找到就會傳回例外或是nil值,當初在按鍵精靈可以利用"標記"來達到連續找尋正確圖的功能 但在這裡一小弟功力似乎無法寫出連續找正確圖的方法(有寫出來不過是利用while與break和exists回傳的nil值,有點土法煉鋼) 想尋求正確的連續找正確圖的方法。在這裡表達似乎有點怪,我稍微解說一下我需要的功能好了 大意:在區域內尋找A圖,如果有找到則執行某個function或while內的語法,如沒找到A圖則繼續尋找直到找到為止 範例:找A.png 找到並點擊A.png並執行其他function 沒找到持續尋找A.png直到找到為止 表達好像還是很怪....
2.find()、wait()、exists()的功能上問題 exists是時間內尋找匹配的圖形並回傳該匹配物件的數據,問題似乎這個方法有個效率性的不足 利用exists的找突時間明顯會拉長不少 find則是馬上搜尋並回傳不過如果找不到似乎跟wait一樣則是出現例外(如有錯誤請糾正我) 但本身find的找圖效率比較高,還是有其他的寫法?
3.手機硬體與軟體的問題 本身小弟是買(紅米)NOTE4X 4G版,在看處理效能與記憶體上並不會差太多,在但執行自己做的腳本時 大約30分鐘內會出現 遊戲跳出並AnkuLua失效、手機重開機 之類的問題,雖然有可能是發生經常用到exists導致的問題 手機本身開啟ROOT過並解除了使用Deamon在執行AnkuLua,是否有其他解決方案? 另外提一下手機重開機似乎又不太像,會跑重開機LOGO但是Deamon卻還存在著不需要重裝 遊戲並不是完FGO那種記憶體殺手等級的(FGO真心推薦IOS遊玩)
最後碎碎念.....希望能在IOS上出AnkuLua
|
|
|
AnkuLua 發表於 Sept 11, 2017 5:53:52 GMT
謝謝您的支持
AnkuLua 寫起來應該更簡潔 1.
while (true) target = exists("A.png", 100000000) -- 找到A.png 會立刻返回,如果找不到A.png,會持續找 100000000 秒 if (target) begin click(target) findA() -- 您要執行的function end end
2. 不管是 find(), wait(), exists() 後面的時間都是最長時間,如果立刻找到,立刻就會返回結果,並沒有哪一個比較有效率 差別只是會不會發出例外(exception) 使用exists() 因為回傳值是
3. 遊戲跳出或重開機要問遊戲商和手機廠,AnkuLua 沒有指令讓手機重開機。如果您腳本沒呼叫 startApp() 或killApp() ,AnkuLua 也不會讓遊戲跳出
iOS 管很嚴,網路上相關資料(背景截圖和點擊)又很少;不是我們不想,是難度很高...
|
|
|
幾個找圖與迴圈問題
Sept 16, 2017 5:56:01 GMT
via mobile
jose 發表於 Sept 16, 2017 5:56:01 GMT
重開機問題似乎找到了 因為除錯需求 我將highlight()寫在一個function上 每當執行我標註的一個步驟時就會呼叫並顯示在螢幕上 或許是呼叫次數過多導致的,交叉測試如果不開啟可以執行到手動停止 highlight()呼叫時都在同個區域顯示 是否需要每呼叫時將前一個關閉?
|
|
|
AnkuLua 發表於 Sept 16, 2017 8:14:43 GMT
highlight() 也是會占記憶體的 建議不用的時候將前一highlight() 關閉
|
|
husin
New Member
Posts: 5
|
husin 發表於 Jan 26, 2018 10:14:03 GMT
借串問一下: 如果我要在畫面中某個局部區域找c圖,找到後執行迴圈,沒找到就跳過去。 目前是這樣寫: 在區域中找到a圖並按a圖,這時會出現下個畫面,找到b圖按b圖...這裡都沒問題 但b圖案下去出現的畫面,因為a圖還是有在畫面中,所以都會反覆跑去按a 圖,然後又按b圖形成迴圈..冏rz 而無法執行到下面這一段if指令的部份,所以按完b圖,如何讓他強制執行下面那段判斷,並限制在一定區域內搜尋 c圖,若搜尋區域為(111, 222, 333, 444)請問在exists中的指令參數該怎麼下??? if ( exists("c.png", 10) then for i = 1,5 do ........ end end 麻煩幫忙,謝謝
|
|