源碼在這里:https://github.com/Shu-Ji/wechat_micro_jump_game_hero
調(diào)試時(shí)未巫,修改 debug 為 True,真實(shí)運(yùn)行時(shí)埠胖,設(shè)置為 False间聊。停頓時(shí)間設(shè)置為 1s,如果電腦運(yùn)算速度太快壳贪,保險(xiǎn)起見可以設(shè)置為 2s陵珍。
第一版使用垂直投影圖的方案進(jìn)行目標(biāo)查找,結(jié)果不是太準(zhǔn)備违施;
第二版改為直接去除背景互纯,以達(dá)到二值化。
第三版去除背影的方式磕蒲,太慢了留潦,現(xiàn)在不去除背景,直接找極點(diǎn)辣往,非常迅速兔院!
目前以 距離 x 1.5 作為長按時(shí)長,基本能跳到目標(biāo)中心位置排吴。
原理:
- adb 截圖
- 找到小人臀部坐標(biāo)(hsv 色相紫黑色)
- 將背景(取高度在1/3處點(diǎn)的色相為基準(zhǔn))替換為黑色秆乳,其余替換為白色,進(jìn)行二值化處理。
- 找到下一橋墩的頂點(diǎn)坐標(biāo)
- 找到下一橋墩的極左/極右點(diǎn)坐標(biāo)
- 計(jì)算出下一橋墩的中心點(diǎn)坐標(biāo)
- 從小人臀部到下一橋墩中心點(diǎn)計(jì)算出跳遠(yuǎn)距離
- 將距離換算為長按時(shí)長
- 使用 adb 跳
視頻:
http://v.youku.com/v_show/id_XMzI3NjY5NjI5Mg==.html?spm=a2h3j.8428770.3416059.1