微信跳一跳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使用新浪微博api上传图片到微博示例
Jan 10 Python
python之import机制详解
Jul 03 Python
python使用Queue在多个子进程间交换数据的方法
Apr 18 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
python中图像通道分离与合并实例
Jan 17 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
在Keras中CNN联合LSTM进行分类实例
Jun 29 Python
教你用Python matplotlib库制作简单的动画
Jun 11 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php制作的简单验证码识别代码
2016/01/26 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
javascript面向对象特性代码实例
2014/06/12 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
python opencv实现证件照换底功能
2019/08/19 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
大学生村官事迹材料
2014/01/21 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
运动会入场词100字
2014/02/06 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
大学班长竞选稿
2015/11/20 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
CentOS安装Nginx并部署vue
2022/04/12 Servers