使用Python开发游戏运行脚本(二)实现模拟点击

您所在的位置:网站首页 python游戏运行 使用Python开发游戏运行脚本(二)实现模拟点击

使用Python开发游戏运行脚本(二)实现模拟点击

2024-06-07 06:27| 来源: 网络整理| 查看: 265

本文接上一篇文章 使用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()】,这样就成功实现了模拟点击。

# 点击窗口 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)

模拟鼠标左键点击 结果 可以看到在python运行起来的一瞬间,鼠标自行移动到了x=136,y=161的位置,并触发点击,打开了应用,这样我们就初步实现了鼠标模拟点击的功能。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3