Python游戏运行脚本模拟点击 使用Python开发游戏运行脚本实现模拟点击
AFinalStone 人气:0想了解使用Python开发游戏运行脚本实现模拟点击的相关内容吗,AFinalStone在本文为您仔细讲解Python游戏运行脚本模拟点击的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Python模拟点击,Python开发游戏运行脚本,下面大家一起来学习吧。
本文接上一篇文章 使用Python开发游戏运行脚本(一)成功调用大漠插件
上一篇我们已经简单实现了python调用大漠插件并输出版本号的功能,接下来我们要做的就是通过大漠插件模拟鼠标点击和键盘文字输入。 由于近年来最热门的游戏基本都是手游,所以我们也会以手游为例来进行游戏脚本的开发。大漠插件是一款针对Windows平台的鼠标键盘模拟+图文查找库,
这样我们要想实现手游脚本开发的第一步,就是下载Android模拟器,然后在对安卓模拟器进行鼠标和键盘的模拟,以此来实现自动化游戏脚本。
一、Android模拟器的选择
- 目前市面上有很多Android模拟器,比如夜神模拟器、雷电模拟器、腾讯手游助手、以及网易的木木模拟器等,这些模拟器在对手游兼容性和大漠插件的支持方面各有各的优缺点,大家可以根据具体的手游自行斟酌。
- 这里我选择的是夜神模拟器,选择其他的当然也没问题,因为原理是相同的。在选择好模拟器之后下载安装,安装成功之后打开夜神模拟器,会看到夜神模拟器的主页面,这里我已经修改了夜神模拟器的分辨率为【640*360 / dpi = 240】
二、使用大漠插件对具体的窗口进行绑定
对于Windows系统来说,在桌面上能看到的所有内容,其实都是一个又一个的Windows窗口,Android模拟器也不例外;按照大漠API的说明文档,我们要实现模拟鼠标点击和键盘按键的第一步,就是调用大漠插件的API对具体的窗口进行绑定,过程中有用到一些大漠插件的API(具体API介绍请自行查阅大漠插件的API文档),以下是我们进行窗口绑定的代码:
import win32com.client # 创建大漠实例对象 def createDMInstance(): dm = win32com.client.Dispatch('dm.dmsoft') # 调用大漠插件,获取大漠对象 print("大漠插件版本号:" + dm.ver()) # 输出版本号 return dm # 查找窗口,返回找到的窗口句柄 def findWindow(dm, windowClass, windowTitle): windowHandle = dm.FindWindow(windowClass, windowTitle) print("找到的窗口句柄 = " + str(windowHandle)) # 输出窗口句柄ID return windowHandle # 绑定窗口 def bindWindow(dm, windowHandle): isBindSuccess = dm.BindWindow(windowHandle, "normal", "normal", "normal", 0) print("是否绑定成功 = " + str(isBindSuccess)) # 是否绑定成功 return isBindSuccess # 是否绑定成功 if __name__ == '__main__': dm = createDMInstance() windowHandle = findWindow(dm, "", "夜神模拟器") isBindSuccess = bindWindow(dm, windowHandle)
- 调用大漠插件的API【FindWindow】找到夜神模拟器的窗口句柄,输出窗口句柄的编号
- 调用大漠插件的API【BindWindow】对找到的窗口句柄进行绑定,并输出绑定结果
三、进行鼠标模拟
在成功绑定窗口之后,我们就可以对窗口,也就是夜神模拟器为所欲为了!
这里调用大漠插件的API【MoveTo(x, y)】把鼠标移动到具体的坐标点(整个坐标系是以安卓模拟器左上角为原点,向下向右展开),然后再调用【LeftClick()】,这样就成功实现了模拟点击。
可以看到在python运行起来的一瞬间,鼠标自行移动到了x=136,y=161的位置,并触发点击,打开了应用,这样我们就初步实现了鼠标模拟点击的功能。
加载全部内容