微信跳一跳python自动代码解读1.0


Posted in Python onJanuary 12, 2018

微信跳一跳自动代码,具体内容如下

那个跳一跳python“外挂”,有几个python文件,其中有一个是得到截图,然后鼠标在图片上点击两次,python窗口上会打印两次鼠标的位置,并且会跟上一行这两个点之间的距离。

微信跳一跳python自动代码解读1.0

这个功能我先给除去获取截屏,就说怎么在某张图片上算出两次点击的距离。

首先,需要用到图形模块,PIL:

from PIL import Image
img = Image.open('0.jpg')

然后用图形绘制模块matplotlib来给出一个plot对象:

import matplotlib.pyplot as plt
fig = plt.figure()

给这个对象加上刚刚打开图片的标签:

plt.imshow(img, animated = True)

然后用matplotlib的canvas.mpl_connect函数,将我们点击的动作和图片连接起来,这个函数的第二个参数要我们自己的写。

fig.canvas.mpl_connect('button_press_event', on_press)

在这个自定义的on_press函数,我们要实现得到两个点以后再算出距离。
那么我们就要有变量来储存两个点,临时储存点,来计算点击了多少次,横纵坐标
分别用全局变量cor=[0,0],coords=[], click_count=0,ix,iy

global ix,iy
 global click_count
 global cor

 ix,iy = event.xdata, event.ydata
 coords = []
 coords.append((ix,iy))
 print("now = ", coords)
 cor.append(coords)
 click_count += 1

先把点储存在临时的coords里面,打印出当前位置,然后将临时的放入全局变量cor里面, 并且点击次数+1.

if click_count > 1:
  click_count = 0

  cor1 = cor.pop()
  cor2 = cor.pop()

  distance = (cor1[0][0] - cor2[0][0]) **2 + (cor1[0][1] - cor2[0][1]) **2
  distance = distance ** 0.5
  print("distance = ", distance)

当点击次数大于1的时候,就说明已经储存了两个点了。
这里用的栈pop()方法得到两个点,分别放入cor1 和 cor2, 那么cor1 和 cor2 就是两个点了。
接着计算出距离distance就行了。

完整代码:

import numpy as np
from matplotlib.animation import FuncAnimation
import matplotlib.pyplot as plt
from PIL import Image
def on_press(event):
 global ix,iy
 global click_count
 global cor

 ix,iy = event.xdata, event.ydata
 coords = []
 coords.append((ix,iy))
 print("now = ", coords)
 cor.append(coords)

 click_count += 1
 if click_count > 1:
  click_count = 0

  cor1 = cor.pop()
  cor2 = cor.pop()

  distance = (cor1[0][0] - cor2[0][0]) **2 + (cor1[0][1] - cor2[0][1]) **2
  distance = distance ** 0.5
  print("distance = ", distance)

cor = [0,0]
click_count = 0
fig = plt.figure()
img = Image.open('0.jpg')
#updata = True

plt.imshow(img, animated= True)

fig.canvas.mpl_connect('button_press_event', on_press)
plt.show()

最终效果:

微信跳一跳python自动代码解读1.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
Python GUI布局尺寸适配方法
Oct 11 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
python设置随机种子实例讲解
Sep 12 Python
Python configparser模块封装及构造配置文件
Aug 07 Python
关于python中导入文件到list的问题
Oct 31 Python
Python深度学习之Pytorch初步使用
May 20 Python
Tornado 多进程实现分析详解
Jan 12 #Python
快速了解Python相对导入
Jan 12 #Python
Python实现翻转数组功能示例
Jan 12 #Python
Python实现求数列和的方法示例
Jan 12 #Python
python+matplotlib演示电偶极子实例代码
Jan 12 #Python
Python实现读取及写入csv文件的方法示例
Jan 12 #Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 #Python
You might like
删除数组元素实用的PHP数组函数
2008/08/18 PHP
PHP n个不重复的随机数生成代码
2009/06/23 PHP
php获取域名的google收录示例
2014/03/24 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
python使用百度翻译进行中翻英示例
2014/04/14 Python
用Python给文本创立向量空间模型的教程
2015/04/23 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
python实现验证码识别功能
2018/06/07 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Python列表与元组的异同详解
2019/07/02 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python isinstance函数用法详解
2020/02/13 Python
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
收银员的岗位职责范本
2014/02/04 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
西游降魔篇观后感
2015/06/15 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
用Python创建简易网站图文教程
2021/06/11 Python