微信跳一跳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 相关文章推荐
编写自定义的Django模板加载器的简单示例
Jul 21 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
详解python中*号的用法
Oct 21 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
Python脚本实现监听服务器的思路代码详解
May 28 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 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
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
python基本语法练习实例
2017/09/19 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
python3 mmh3安装及使用方法
2019/10/09 Python
python中property和setter装饰器用法
2019/12/19 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
python如何判断IP地址合法性
2020/04/05 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
二年级语文上册复习计划
2015/01/19 职场文书
政协委员个人总结
2015/03/03 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang