function log(txt)
date = os.date("%m/%d/%Y-%H:%M:%S");
file = io.open("/mnt/sdcard/Touchelper/cooler.txt","a");
file:write(date.."
"..txt.."
");
file:write("
");
file:close();
end
for i=1,3 do
notifyMessage("坐标1:("..x1..","..y1..")HEX:"..string.format("0x%06x", m1).."
".."坐标2:("..x2..","..y2..")HEX:"..string.format("0x%06x",m2).."
".. "坐标3:("..x3..","..y3..")HEX:"..string.format("0x%06x", m3).."
".."坐标4:("..x4..","..y4..")HEX:"..string.format("0x%06x",m4));
end
mSleep(3000);
end
-- 主入口
function main()
mSleep(3000);
snapshotScreen(string.format("/mnt/sdcard/%s.bmp", os.time()));
end
執行後抓當前螢幕圖片bmp格式存至內建sdcard空間
然後再切割你要的地方下來
中間不要轉換過格式,比較不會出錯
然後腳本的部分
,,,
以下是區域模糊找圖
在區域左上(36、509)到區域右下(409、1778)中找圖片精準度80
x, y = findImageInRegionFuzzy("/mnt/sdcard/圖片名稱.bmp", 80, 36, 509, 409, 1778); -- 將找到的圖片的左上角坐標保存在x和y中,如果没找到,x和y的值為-1
if x ~= -1 and y ~= -1 --如果x.y 不等於負一(就是有找到的意思,因為有找到就會有座標了)
then
mSleep(700);
touchDown(0, x+5, y+10); -- 則點擊找到的x加5,y加10的地方(因為找到圖片是左上角,有時剛好是要點的邊緣,點了沒反應所以加往右下一點的地方)
mSleep(100);
touchUp(0);
mSleep(500);
end
x, y = findImage("/mnt/sdcard/你要的圖片.bmp");全螢幕找圖
x, y = findImageFuzzy("/mnt/sdcard/你要的圖片.bmp", 80);全螢幕模糊找圖精準度80
x, y = findImageInRegion("/mnt/sdcard/你要的圖片.bmp", 左上x, 左上y, 右下x, 右下y);區域找圖
以上觸摸精靈裡面也有用法跟第一個範例差不多
施放buff方法
RPG類遊戲常常有需要施放buff
function addBuffer1() -- 循環檢測和補充buffer1
while true do -- 主循環
if getColor(100, 100) ~= 0x000000 then -- 如果没有buffer1
touchDown(0, 100, 100); -- 施放buffer1
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 回原本循環
end
end
function addBuffer2() -- 循環檢測和施放buffer2
while true do -- 主循環
if getColor(200, 200) ~= 0x000000 then -- 如果没有buffer2
touchDown(0, 200, 200); -- 施放buffer2
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 回原本循環
end
end
function main()
co1 = coroutine.create(addBuffer1);
co2 = coroutine.create(addBuffer2);
while true do
coroutine.resume(co1);
coroutine.resume(co2);
end
end
裡面座標色碼,在找色找圖腳本都有
套用上去而已