微信跳一跳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中针对函数处理的特殊方法
Mar 06 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
深入讲解Python中的迭代器和生成器
Oct 26 Python
Python解析树及树的遍历
Feb 03 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python实现调度算法代码详解
Dec 01 Python
python list转矩阵的实例讲解
Aug 04 Python
通过shell+python实现企业微信预警
Mar 07 Python
python binascii 进制转换实例
Jun 12 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
pycharm无法导入本地模块的解决方式
Feb 12 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 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
解决python os.mkdir创建目录失败的问题
2018/10/16 Python
详解Python3 基本数据类型
2019/04/19 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
python tkinter实现连连看游戏
2020/11/16 Python
实习期自我鉴定
2013/10/11 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
投标邀请书范文
2014/01/31 职场文书
上班玩手机检讨书
2014/02/17 职场文书
经销商订货会主持词
2014/03/27 职场文书
家属答谢词
2015/01/05 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
心理健康教育主题班会
2015/08/13 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
sql注入报错之注入原理实例解析
2022/06/10 MySQL