PyThon--写跳一跳外挂

#!/user/bin/env python
# _*_ coding:utf-8 _*_
import os
import PIL
import numpy
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation# 刷新用的
import time
need_updata=True
 
 
#获取手机截图
def get_screen_img():
    #获取哦当前界面手机截屏
    os.system('adb shell screencap -p /sdcard/screen.png ')
    #下载当前这个截图当当前电脑当前文件接下
    os.system('adb pull   /sdcard/screen.png ')
    return numpy.array(PIL.Image.open('screen.png'))
 
#条的函数
def jump_to_next(point1,point2):
    #取出两次点击位置的x,y坐标
    x1,y1=point1;
    x2,y2=point2;
    #通过勾股定理计算两次点击之间的距离
    distance=((x2-x1)**2+(y2-y1)**2)**0.5
    #点击     #四个数字    按下  抬起的x,y坐标   {}为占位符         #1.35  一个像素点按压1.35毫秒
    os.system('adb shell input swipe 320 410 320 410 {}'.format(int(distance*1.35)));
 
 
 
 
#event   默认传过来的    点击事件的坐标位置
def on_click(event,coor=[]):#[(1,2),(1,2)]  ;列表里面加元祖
    global need_updata  # 使用全局变量   need_updata
 
    #添加点击坐标
    coor.append((event.xdata,event.ydata))
    if len(coor)==2:
        #list集合中的.pop()方法 ,  给别人的同时删除最后一个元素
        jump_to_next(coor.pop(),coor.pop())
    need_updata = True#点击两次之后变为True
# 更新图片(重画图片)
def update_screen(frame):
    global need_updata  # 使用全局变量   need_updata
    if need_updata:
        time.sleep(1)#睡一秒钟在画图
        axes_image.set_array(get_screen_img());  # 重画图片   get_screen_img()函数加括号   才执行
        need_updata=False
    return axes_image,
 
 
 
 
 
 
 
 
 
#创建空白的图片
figure=plt.figure()
#吧获取的图片显示到坐标上
axes_image=plt.imshow(get_screen_img(),animated=True)
 
 
 
#调用函数    后面写括号:执行完函数,将返回值传过来
#参数2   函数对象    做单击事件的
figure.canvas.mpl_connect('button_press_event',on_click)
#参数一   刷新的对象,所以没括号
#参数二    图片  接收元祖   所以加逗号   update_screen函数的返回值
#参数三    50毫秒
ani=FuncAnimation(figure,update_screen,interval=50,blit=True)#函数会一直循环
plt.show();

发布了184 篇原创文章 · 获赞 11 · 访问量 10万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 岁月 设计师: pinMode

分享到微信朋友圈

×

扫一扫,手机浏览