zoukankan      html  css  js  c++  java
  • 关于游戏脚本的编写思路

    涉及到的技术点:

    1. 图色/文字识别
    2. 键盘/鼠标操作
    3. 多线程技术
    4. 前台/后台(绑定)技术

    一、图色/文字识别

    图色:预先设定要找的图色,然后在指定的区域内寻找,返回对应的坐标

    文字:预先设定好文字的点阵,然后用ocr技术,在区域内寻找,返回对应的点阵绑定的文字

    ps:寻找需要一个时间过程,我们可以给寻找的函数添加一个循环查找并设置超时时间。

    二、键鼠操作

    模拟键鼠的操作

    三、多线程技术

    可以同时执行不同的任务,并且数据互通。

    对于同一个窗口而言,一般最多只能同时进行一个操作,所以多线程是建立在不影响正常的操作的前提上,

    比如自动打怪,需要一个线程去判断自身血量并自动加血,一个线程去寻找怪物,一个线程去监听寻找怪物线程的结果,去执行走位和打怪等。如果是单线程,也可以做到,但是效率上面会大打折扣。分线程是为了解决可以并行的业务的执行。

    另外,多线程还可以解决一个异常的问题:

    比如我们的脚本在按顺序的执行过程中,假设遇到一些预想不到的情况,脚本的进程卡在某个环境,那么我们有2个做法:

    1、在主线程每个可能异常的环境,增加各种异常判断和处理,保障脚本可以继续运行下去

    2、在主线程并不考虑各种异常,统一交给异常线程去处理,异常线程捕捉到异常后,先暂停或停止主线程(如有必要),然后处理异常,再启动主线程继续执行

    好处代码比较优雅,可维护性和开发效率都会比较大的提升。

    四、前后/后台技术

    有前台与后台之分,如果是后台,不影响前台工作,并且可以多开多个鼠标同时操作,但是需要先绑定窗口。绑定后,所有的界面操作和坐标,都是基于绑定的窗口而言

    三、

    暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
  • 相关阅读:
    windows 2019 server系统中网卡里面的“详细信息”空白,无法连接网络
    Python一些插件安装
    pip版本过旧,提示要升级pip
    Mac idea 默认全局配置maven设置
    Java并发/多线程-锁的区别与使用
    Java反射的理解
    Git远程连接GitHub添加远程库
    部署Django云服务器 Gunicorn + Nginx
    Nginx在 Centos 没有sites-available 和 sites-enabled目录
    java基础学习笔记4(maven)
  • 原文地址:https://www.cnblogs.com/zenghansen/p/14973560.html
Copyright © 2011-2022 走看看