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

    涉及到的技术点:

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

    一、图色/文字识别

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

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

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

    二、键鼠操作

    模拟键鼠的操作

    三、多线程技术

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

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

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

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

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

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

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

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

    四、前后/后台技术

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

    三、

    暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
  • 相关阅读:
    php解决前端调接口跨域问题
    降低token 被盗风险安全问题
    u盘怎么解除写保护状态,u盘写保护怎么去掉
    安装vsftpd时出现错误
    对于vim 编译器的设置
    Vim 怎么设置显示行号,永久性显示行号
    Ubuntu系统设置过程中信息显示不全
    控制文件夹名显示的长短
    linux中好玩的游戏
    安装VMware Tools
  • 原文地址:https://www.cnblogs.com/zenghansen/p/14973560.html
Copyright © 2011-2022 走看看