微信跳一跳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中的forms组件实例详解
Nov 08 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
Python3之手动创建迭代器的实例代码
May 22 Python
python开启debug模式的方法
Jun 27 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
Python turtle绘画象棋棋盘
Aug 21 Python
pytorch sampler对数据进行采样的实现
Dec 31 Python
Python内置类型性能分析过程实例
Jan 29 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
python 判断文件或文件夹是否存在
Mar 18 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
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
vue中使用GraphQL的实例代码
2019/11/04 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
js布局实现单选按钮控件
2020/01/17 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python3对接mysql数据库实例详解
2019/04/30 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
如何掌握自荐信格式呢
2013/11/19 职场文书
农场厂长岗位职责
2013/12/28 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL