通过python写出你想要的功能,这篇文件我主要讲述如何写,其中的一些功能点,只教方法。
1.下载python并配置环境变量,其他博文有详细,这里不细说。
2.下载编辑工具,我使用PyCharm,你们可以用其他的一样
3.命令行输出 pip install pyautogui
下载模拟鼠标键盘的依赖
可能会提示缺少其他相关依赖,使用pip install 命令安装对应提示出来的某个文件,一般可以解决。
先新建一个py文件,引入依赖:
import datetime
import aircv as ac
import time
import pyautogui as p
这里提供一个过去坐标的工具类,大家可以通过这个工具获取到想要位置的坐标
import pyautogui as p
class main:
def __init__(self):
last_pos= p.position()
try:
while True:
new_pos=p.position()
if last_pos!=new_pos:
print(new_pos)
last_pos=new_pos
except KeyboardInterrupt:
print("\nExit.")
process = main()
代码如下:
#x y 是坐标,以左上角0 0为准,duration=0.3是需要花多久移动到目标位置
p.moveTo(x, y, duration=0.3)
代码如下:
#括号里的是对应的键盘按键
p.press('f1')
代码如下:
#鼠标左键单击
p.click()
#鼠标左键双击
p.doubleClick()
#鼠标左键双击
p.doubleClick()
#鼠标右键单击
p.rightClick()
#0.3是间隔的多长时间
p.PAUSE = 0.3
此类代码中延时非常重要
#5指休眠时间,单位为秒
time.sleep(5)
有时候一个位置不是固定的,往往需要通过对比来判断是不是进入到了某一个地方
首先先准备一张我们需要比对的图片。这里取名aa
#截取图片bb
def getSd(self):
#region表示需要在屏幕中截取的位置,左上角和右下角的x,y坐标
img = p.screenshot(region=[944, 194, 1028, 252])
#保存到本地
img.save("./bb.png")
return None
#匹配两张图片以0.7的相似度,如果匹配不到会返回空值 ac是我们上面引入的依赖
def matcha(self, bb, aa):
yuan = ac.imread(bb)
mubi = ac.imread(aa)
result = ac.find_template(yuan, mubi, 0.7) # 0.7相似度
if (result != None):
return result['result'][0], result['result'][1]
# return yuan.shape[1],yuan.shape[0]
return None
#如果今天是周五或者周六 则打印xxx
if datetime.today().isoweekday() == 5 or datetime.today().isoweekday() == 6:
print('xxx')
调用系统执行命令
#6个小时后关机
os.system("shutdown -s -t 18000")
#正负值 即为向下或者向上划
p.scroll(-700)
#alt+tab 切换任务栏
p.hotkey('alt', 'tab')
#新建一个Blocking型的定时器
scheduler = BlockingScheduler()
#添加任务,day_of_week 一周的哪些天 hour 小时 minute分 意思每天的凌晨10分执行,cron的定时的一种表达式
scheduler.add_job(self.job, 'cron', day_of_week='0-6', hour='0', minute='10')
#启动任务
scheduler.start()
以上就是今天要讲的内容,本文仅仅简单介绍了python自动玩游戏的基本组件功能的使用,大家可以根据基本用法,自己设计出自己想要的功能。