本文主要详细介绍了python3实现跳跳、点击跳和玩跳跳游戏的思想,具有一定的参考价值。感兴趣的朋友可以参考一下。
借鉴了网上一些大神的代码和思路,下面是写一个小游戏的思路,点击跳转,玩跳转。
一、整体思路
根据棋子的坐标和下一步要走的坐标,计算两点之间的距离,跳跃。
二、分布思路
1.根据命令截图获取初始图像,保存到手机,然后上传到本地文件夹。
2.将捕获的截图放入新创建的坐标轴(matplotlib)
3.用鼠标点击事件得到初始坐标和关键坐标,计算直线距离。
4.跳。跳转后,清除坐标,更新截图。
三、所用到的相关技术或模块
1、python3基金会
2、numpy
3、matplotlib
4.python中的操作系统模块
5.亚行工具包
四、代码
__作者__='周'
导入操作系统
进口PIL,numpy
将matplotlib.pyplot作为plt导入
从matplotlib.animation导入FuncAnimation
导入时间
需要更新=真
#获取手机截图
def get_screen_image()。
OS . system(' ADB shell screen cap-p/SD card/screen . png ')#获取手机当前界面截图。
OS . system(' ADB pull/SD card/screen . png ')#将当前截图下载到电脑当前文件夹。
return numpy . array(pil . image . open(' screen . png ')#转向数组并返回
#计算字符串的长度
def jump_to_next(点1,点2):
x1,y1=point1x2,y2=点2
距离=((x2-x1) * * 2 (y2-y1) * * 2) * * 0.5 #计算弦长
Os.system ('ADB shell输入swipe 320 410 320 410 {})。format (int (distance * 1))) #为2K按水平和垂直左释放水平和垂直坐标的屏幕反弹系数为1。
#绑定鼠标点击事件
def on_calck(event,coor=[]): # [(x,y),(x2,y2)]
全球需求_更新
Coor.append ((event.xdata,event.ydata)) #获取x和y坐标,并将其放入Coor数组中。
如果len(coor)==2:
Jump _ to _ next (coor.pop()、coor.pop ()) #计算长度,得到两个坐标后清空数组。
需要更新=真
Def update_screen(帧):#更新图片
全球需求_更新
如果需要_更新:
Time.sleep(1) #因为跳跃需要时间,所以这里需要睡眠1s,然后再获取图片。
axes _ image . set _ array(get _ screen _ image())
需要更新=假
返回axes_image,#返回祖先
Figure=plt.figure() #创建空白图片对象/创建画布
axes _ image=PLT . im show(get _ screen _ image(),animated=true) #将采集到的图片放入坐标轴。
figure . canvas . mpl _ connect(' button _ press _ event ',on_calck)
Ani=FuncAnimation (figure,update _ screen,interval=50,blit=true) #实例化FuncAnimation更新画布图片50到50ms。
Plt.show() #显示坐标图
请点击这里:跳转跳转源代码
有关更多信息,请参考主题《微信跳一跳》。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。