使用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的位置,并触发点击,打开了应用,这样我们就初步实现了鼠标模拟点击的功能。

到此这篇关于使用Python开发游戏运行脚本实现模拟点击的文章就介绍到这了,更多相关Python模拟点击内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Python开发游戏运行脚本成功调用大漠插件

    目录 一.搭建python开发环境 二.使用Pip下载pypiwin32库文件 三.下载大漠插件 3.1 下载大漠插件 四.成功调用大漠API 常见错误 闲来无事,想通过python来实现一些简单的游戏辅助脚本,而游戏辅助脚本的主要原理就是通过程序来查找游戏程序窗口,模拟实现鼠标点击和键盘按键等事件来实现游戏辅助的:window系统本身是有提供对应功能的API的,不过这次想通过大漠插件来实现查找窗口,鼠标点击和键盘按键的功能.我们这里使用的是大漠插件(dm.dll)的最后一个免费版: 3.123

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

    本文接上一篇文章 使用Python开发游戏运行脚本(一)成功调用大漠插件 上一篇我们已经简单实现了python调用大漠插件并输出版本号的功能,接下来我们要做的就是通过大漠插件模拟鼠标点击和键盘文字输入. 由于近年来最热门的游戏基本都是手游,所以我们也会以手游为例来进行游戏脚本的开发.大漠插件是一款针对Windows平台的鼠标键盘模拟+图文查找库, 这样我们要想实现手游脚本开发的第一步,就是下载Android模拟器,然后在对安卓模拟器进行鼠标和键盘的模拟,以此来实现自动化游戏脚本. 一.Andro

  • Python开发游戏自动化后台脚本的实现

    目录 前言 说明 获取窗口句柄 获得后台窗口截图 数字识别 识别并点击图片位置 后台文字输入 完整代码 参考 前言 前段时间沉迷猪场一梦江湖,由于实在太肝便萌生出用脚本做日常的想法,写了第一个test.py,随着后来各种功能的逐步添加,脚本也从前台变成了支持后台静默运行,功能渐渐完善,包括了常用的 1.鼠标左键单击指定坐标2.识别并单击指定图像3.识别图像中文字4.后台截取程序画面以供识别5.鼠标滚轮上下滚动6.鼠标左键范围点击以防检测7.程序中的键盘控制8.程序中字符的输入 说明 获取窗口句柄

  • Python开发游戏之井字游戏的实战步骤

    目录 前言 什么是井字游戏? Python 井字游戏——项目详情 先决条件 构建 Python 井字游戏的步骤 1.初始化游戏组件 2.初始化Pygame窗口 3.加载和转换图像 4.定义函数 总结 前言 毫无疑问,你一定在学生时代玩过井字游戏,我们每个人都喜欢玩这款游戏.您会惊讶地发现井字游戏自古埃及时代就已存在. 通过 TechVidvan 的这个 Python 项目,我们将构建一个交互式 Tic Tac Toe 游戏,我们将在此过程中学习新事物. 什么是井字游戏? Tic Tac Toe

  • python开发游戏的前期准备

    本文章面向有一定基础的python学习者,使用Pygame包开发一款简单的游戏 首先打开命令行,使用PyPI下载Pygame包(输入命令pip install pygame) 打开python编辑器(vs,IDLE,或其他),再引入包 定义一些需要用到的数据 先使用pygame包创建一个游戏窗口,然后使用循环将窗口展示出来,运行会出现下图 现在定义一个可操控的小球类Player,draw()方法可以使它展示在屏幕上,update()方法让小球跟随鼠标移动 类似的,定义不可操控的小球类Ball,使

  • 屏蔽up键禁止游戏运行脚本分享

    侄子总在我本本上玩赛车,键盘快被按塌了.这个autoit脚本的原理是屏蔽UP键,当他的面告诉他键盘坏了当然不行,为了让他信服,我设置了延迟20分钟,下次先打开脚本,再打开游戏,侄子玩着玩着出现问题,大概就不用我过多解释了.然后删除游戏 增强版,先判断游戏是否运行,如果是游戏第一次运行,那么20分钟后拦截UP键为了不影响正常的工作,同时造成游戏按键损坏的假象随后只要检测到游戏运行就拦截UP键,反之则不拦截,检测的间隔是1秒. 复制代码 代码如下: sleep(1200000)HotKeySet("

  • python 开发的三种运行模式详细介绍

    Python 三种运行模式 Python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为胶水语言,用它来粘合整个系统的流程.不管怎么说,怎么使用python既取决于你自己的业务场景,也取决于你自己的python应用能力.就我个人而言,我觉得python作为既可以用来进行业务的开发,也可以进行产品原型的开发.一般来说,python的运行主要下面这三种模式. 1.单循环模式 单循环模式使用的最多,也最简单,当然也最稳定.为什么呢,因为单循环本来代码就写的很少,出错

  • Python守护进程和脚本单例运行详解

    本篇文章主要介绍了Python守护进程和脚本单例运行,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.简介 守护进程最重要的特性是后台运行:它必须与其运行前的环境隔离开来,这些环境包括未关闭的文件描述符.控制终端.会话和进程组.工作目录以及文件创建掩码等:它可以在系统启动时从启动脚本/etc/rc.d中启动,可以由inetd守护进程启动,也可以有作业规划进程crond启动,还可以由用户终端(通常是shell)执行. Python有时需要保证只运行一个脚本实例,以避

  • 教你如何用python开发一款数字推盘小游戏

    今年年初,新一季的<最强大脑>开播了,第一集选拔的时候大家做了一个数字游戏,名叫<数字华容道>,当时何猷君以二十几秒的成绩夺得该项目的冠军,看了这个游戏之后我决定要写一个<数字华容道>的程序,过去了半年,我终于记起了这件事,今天就来实现. 数字推盘游戏(n-puzzle)是一种智力游戏,常见的类型有十五数字推盘游戏和八数字推盘游戏等.十五数字推盘游戏的板上会有十五个方块和一个大小相当于一个方块的空位(供方块移动之用),当15个数字依次排序并且最后一个格子为空位即代表挑战

  • Python开发之射击闯关游戏的实现

    目录 项目功能 地图编辑器 游戏主运行程序 部分游戏截图 项目功能 地图编辑器:可以实现玩家自己定义每一关卡的样式和难易程度 运行界面:实现了玩家的移动,跳跃,发射子弹,投掷手雷,以及敌人的AL(移动,发射子弹,扔手雷),同时游戏中有一系列的道具(生命值药箱,子弹补给,手雷补给)以及各种动画和音乐音效,还有各种花草岩石装饰品,以及悬崖和水涡危险地方,更多未知,自己体验就能感受到! 总代码累计1100行左右! 地图编辑器 import pygame import sys import csv im

随机推荐