前言
人在美国,刚下飞机,在等行李的时候写下这篇博客,纪念一下我长达两天的踩坑史,以及一种新的思维,面向百度编程,本文介绍的是如何用python做钢琴块脚本,用到模块有
PIL模块
numpy模块
ctypes模块(使用动态链接库)
正文
好,接下来就开始漫长的踩坑史了,Are you ready?
ADB坑
一开始,我想的是在手机上进行触屏操作,还别说,真有这东西
工具包我打包了,点击此处下载 密码:xsx3
放在你的工作目录下(其实可以不用全放的,但是全放肯定没问题),手机打开usb 调试,
然后打开ADBDriverInstaller.exe:
点击之后就可以关闭了
进入工作目录,cmd,输入命令:
adb shell
出现一大串参数就代表没问题,
介绍几个会用到的adb命令:
//(保存到SDCard)
adb shell /system/bin/screencap -p /sdcard/screenshot.png
// 从SD卡导出到电脑,注意 F:\\mvp 为电脑路径,必须存在
adb pull /sdcard/screenshot.png F:\\mvp(保存到电脑)
//在(x,y)处模拟点击
adb shell input tap x y
然后在介绍下 PIL模块:
from PIL import Image
import numpy as np
path=""#path为图片路径
img=np.array(Image.open(path))#img为这张图片的三维矩阵[y][x][r,g,b]
如果在某一点的rgb相加小于100,那么它就是可以点击的地方,即为黑色方块。纵坐标固定,横坐标检查四个点对应四列,要不是因为我测试了一下截一张图传到电脑上要两秒,点击一下要一秒,我差点就兴奋了,怎么玩,一次要三秒,开什么玩笑,还不如手玩,果断认同放弃ADB
于是我苦思冥想,痛定思痛,终于灵光一现,有没有一种方法,是可以直接在电脑上操作手机,而不需要向ADB这么慢的呢