|
gene 發表於 May 20, 2016 3:30:33 GMT
這陣子使用發現在流程上的控制,似乎不照設定的 wait 時間跑
這是我作的一個技能點擊 function
-- 點擊技能
function myAtk(atk,cd)
-- 技能位置
if atk=="A1" then
--toast("A1")
skill = Region(1080,620,70,70)
elseif atk=="A2" then
--toast("A2")
skill = Region(980,620,70,70)
elseif atk=="B1" then
--toast("B1")
skill = Region(1180,520,70,70)
elseif atk=="B2" then
--toast("B2")
skill = Region(1080,520,70,70)
elseif atk=="B3" then
--toast("B3")
skill = Region(980,520,70,70)
elseif atk=="Power" then
--toast("Power")
skill = Region(1180,390,70,70)
else
toast("no skill!")
end
--toast(cd)
--skill:highlight(cd)
click(skill)
wait(cd)
end
-- 技能循環表格
local comboData = {
{skill = "B2",cd=2},
{skill = "A1",cd=1},
{skill = "B2",cd=2},
{skill = "A1",cd=1},
{skill = "B2",cd=2}
}
-- 技能循環點擊
for i=1,#comboData do
local myCombo=comboData[i]
myAtk(myCombo.skill,myCombo.cd)
end
但在實際點擊時,並無法照著設定的 CD 時間在跑 wait 的時間常常超過設定的時間
想請問一下有沒有改善的方式,謝謝
|
|
|
AnkuLua 發表於 May 20, 2016 4:40:16 GMT
誤差多少呢? 可以用Timer() 量量看 t = Timer() wait(1) time = t:check() print(t)
整個流程有做其他動作,是有可能會多出有一些些時間
|
|
|
gene 發表於 May 20, 2016 9:36:03 GMT
|
|
|
gene 發表於 May 20, 2016 9:44:18 GMT
|
|
|
AnkuLua 發表於 May 20, 2016 9:58:43 GMT
更正一下 t = Timer() wait(1) time = t:check() print(time) --time 才對,原本t不對
|
|
|
gene 發表於 May 20, 2016 10:47:21 GMT
剛測試還有到 7 秒的時間 加上遊戲的運轉 竟然出現手機過熱,關機的情況 第一次出現手機過熱的訊息 XD
|
|
|
gene 發表於 May 22, 2016 13:54:33 GMT
實測過後,一樣的點擊次數,透過 function 的方式來點擊,會造成時間上的延遲. 延遲至少有 1 ~ 3 倍的狀況
|
|
|
AnkuLua 發表於 May 22, 2016 14:38:57 GMT
剛測試還有到 7 秒的時間 加上遊戲的運轉 竟然出現手機過熱,關機的情況 第一次出現手機過熱的訊息 XD 可以分享一下跑出這個結果的腳本嗎? 還有您的機器是哪一個? Android 版本? 有root 嗎?
|
|
|
gene 發表於 May 22, 2016 16:22:25 GMT
手機是 infous M530
我後面說的透過 function 的方式來點擊,會造成時間上的延遲 是用 bluestack 1 測試的
很短的程式碼,就是前面貼的那段而已
把 function myAtk(atk,cd) 內容拿出來直接在迴圈裡面跑,就會有 2 倍時間上的差異了
|
|