女朋友老是埋怨我技術不行,於是我做了個輔助工具。
阿新 • • 發佈:2020-11-16
事件起因
❝女朋友平時酷愛王者榮耀,所以她沒事的時候也喜歡拉拉我打兩把,這不前段時間還買了一個王者榮耀的李白聯名口紅向我炫耀,心裡不免有點吃醋,一個3D人物能有真人賞心悅目嗎?於是我暗下決心,決定苦練農藥技巧,在她面前秀上一把。其實對於王者榮耀,我的技術也不算太差,和她一起玩的時候總能拿到MVP,就是贏不了,究其原因,我覺得是我女朋友的問題,因為遊戲過程中經常出現我一個人單挑三人,就差她殘血補刀,奈何她總是喜歡喵在草叢或者撒腿就跑,整局下來還嫌棄我菜,說我手速不行,在我被群毆的時候,總希是望自己擁有不死之身,於是就有了秒換復活甲的想法。。。
❞
準備工作
這次開發依舊使用的AutoJs來進行指令碼的開發。 測試工具是本人的OnePlus 8T。
程式邏輯
在開發過程中,由於AutoJs抓取不了遊戲介面的佈局控制元件,所以只能採取模擬人手點選的方式來進行製作。
執行測試
測試截圖:
體驗地址:https://wwa.lanzous.com/imPQKigp0fe
其他
使用者使用前需要開啟懸浮窗許可權,並且需要在橫屏下圖示才能顯示出來,可以長按移動進行移動,注意不要點選到圖示。
缺點:其他手機在使用的過程中,相應的引數可能需要重新進行調整,否則會出現點選錯位的情況。
程式碼
var window = floaty.window(
<frame id="logo" w="60" h="50" alpha="0.8" >
<button id="move" text=" 移動 " w="9" h="40" bg="#77ffffff" textSize="10sp" marginLeft="40" padding="0 -5 0 0" visbility="invisible" alpha="0.5"/>
<img id="img_logo" w="40" h="40" circle="true" src="https://s1.ax1x.com/2020/10/14/0IsInx.png" />
</frame>
)
window.setPosition(1913,239);
setInterval(() => {
}, 1000);
let wx, wy, downTime, windowX, windowY;
window.move.setOnTouchListener(function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
wx = event.getRawX();
wy = event.getRawY();
windowX = window.getX();
windowY = window.getY();
downTime = new Date().getTime();
return true;
case event.ACTION_MOVE:
// 如果按下的時間超過 xx 秒判斷為長按,調整懸浮窗位置
if (new Date().getTime() - downTime > 300) {
window.setPosition(windowX + (event.getRawX() - wx), windowY + (event.getRawY() - wy));
}
return true;
case event.ACTION_UP:
// 手指彈起時如果偏移很小則判斷為點選
if (Math.abs(event.getRawY() - wy) < 30 && Math.abs(event.getRawX() - wx) < 30) {
toastLog(" 長按調整位置 ")
}
return true;
}
return true;
});
window.img_logo.click(() => {
threads.start(function(){
click(173,489);//點選金幣
sleep(5);
click(319,629);//點選防禦
sleep(5);
click(1659,650);//點選復活甲
sleep(15);
click(1933,862);//點預購
sleep(15);
click(771,927);//點選第一個
sleep(15);
click(1963,874);//出售
sleep(20);
click(1990,110);//點選x
sleep(20);
click(276,436);//點選購買裝備
});
});