怎么玩?

通过python写出你想要的功能,这篇文件我主要讲述如何写,其中的一些功能点,只教方法。


一、安装依赖

1.下载python并配置环境变量,其他博文有详细,这里不细说。
2.下载编辑工具,我使用PyCharm,你们可以用其他的一样
3.命令行输出 pip install pyautogui 下载模拟鼠标键盘的依赖

可能会提示缺少其他相关依赖,使用pip install 命令安装对应提示出来的某个文件,一般可以解决。

二、使用步骤

1.准备工作

先新建一个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()

2.控制鼠标移动

代码如下:

#x y 是坐标,以左上角0 0为准,duration=0.3是需要花多久移动到目标位置
p.moveTo(x, y, duration=0.3)

3.控制键盘输入

代码如下:

#括号里的是对应的键盘按键
p.press('f1')

3.控制鼠标点击

代码如下:

#鼠标左键单击
p.click()
#鼠标左键双击
p.doubleClick()
#鼠标左键双击
p.doubleClick()
#鼠标右键单击
p.rightClick()

4.键盘间隔

#0.3是间隔的多长时间
p.PAUSE = 0.3

5.延迟

此类代码中延时非常重要

#5指休眠时间,单位为秒
time.sleep(5)

6.图片比对

有时候一个位置不是固定的,往往需要通过对比来判断是不是进入到了某一个地方

首先先准备一张我们需要比对的图片。这里取名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

7.周末判断

#如果今天是周五或者周六 则打印xxx
if datetime.today().isoweekday() == 5 or datetime.today().isoweekday() == 6:
	print('xxx')

8.定时关机

调用系统执行命令

#6个小时后关机
os.system("shutdown -s -t 18000")

9.滑动鼠标轮

#正负值 即为向下或者向上划
p.scroll(-700)

10.键盘组合键

#alt+tab 切换任务栏
p.hotkey('alt', 'tab')

11.创建定时任务

#新建一个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自动玩游戏的基本组件功能的使用,大家可以根据基本用法,自己设计出自己想要的功能。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐