微信小程序跳一跳(python)点击更多查看全文(¥65)

1.连接安卓手机。

adb devices
  
  
  
  
  • 1

check是否连接ok
2.执行下面脚本,会弹出手机当前跳一跳界面,点击图片中起点和终点,程序自动执行跳跃,跳跃完成后刷新图片,继续点击继续跳跃…

import os
import PIL
import numpy
import matplotlib

matplotlib.use('TKAgg')
import matplotlib.pyplot as plt
import time

from matplotlib.animation import FuncAnimation

# 是否需要进行图片更新
need_update = True

def get_screen_image():
    # 截取手机当前图片
    os.system('adb shell screencap -p /sdcard/screen.png')
    # 拉取到PC端
    os.system('adb pull /sdcard/screen.png')
    # 将图像转成数组返回
    return numpy.array(PIL.Image.open('screen.png'))


def jump_to_next(point1, point2):
    x1, y1 = point1;
    x2, y2 = point2
    distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
    # 计算按压指令和按压时长
    os.system("adb shell input touchscreen swipe 320 410 320 410 %d" % (distance * 1.35))


def on_clack(event, coor=[]):
    global need_update
    coor.append((event.xdata, event.ydata))
    if len(coor) == 2:
        # 执行跳步指令
        jump_to_next(coor.pop(), coor.pop())
    # 进行图片刷新
    need_update = True


def update_screen(frame):
    global need_update
    if need_update:
        time.sleep(2)
        axes_image.set_array(get_screen_image())
        # 已刷新,设置为false
        need_update = False
    return axes_image,


figure = plt.figure()
axes_image = plt.imshow(get_screen_image(), animated=True)
figure.canvas.mpl_connect('button_press_event', on_clack)
# 定时更新
ani = FuncAnimation(figure, update_screen, interval=50, blit=True)
plt.show()
  
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43721133/article/details/89186246
今日推荐