使用Python开发游戏运行脚本(二)实现模拟点击 |
您所在的位置:网站首页 › 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【MoveTo(x, y)】把鼠标移动到具体的坐标点(整个坐标系是以安卓模拟器左上角为原点,向下向右展开),然后再调用【LeftClick()】,这样就成功实现了模拟点击。 # 点击窗口 def clickWindow(dm, x, y): dm.MoveTo(x, y) dm.LeftClick() if __name__ == '__main__': dm = createDMInstance() windowHandle = findWindow(dm, "", "夜神模拟器") isBindSuccess = bindWindow(dm, windowHandle) if isBindSuccess: clickWindow(dm, 136, 161)
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |