跳至主要內容

Json子节点Pic介绍

X-Studio大约 6 分钟

一些Pic示例

[
    //1. 基本结构 找到find图片自动点击识别到的图片位置
    {
      "name": "挑战.bmp",
      "click": {
        "begin_sleep": 100,
        "end_sleep": 100,
        "number": 1
      },
      "position": {
        "find": "887,461,944,519"
      }
    }, 
    //2. 找到find图片自动点击click区域随机位置
    {
      "name": "胜利.bmp",
      "click": {
        "begin_sleep": 100,
        "end_sleep": 100,
        "number": 1
      },
      "position": {
        "find": "887,461,944,519",
        "click": "887,461,944,519"
      }
    }, 
    //3. click进阶 点击两次,并且点击前等待0.5s,点击后等待1s
    {
      "name": "退出.bmp",
      "click": {
        "begin_sleep": 500,
        "end_sleep": 1000,
        "number": 2
      },
      "position": {
        "find": "887,461,944,519",
        "click": "887,461,944,519"
      }
    }, 
    //4. pic多图 公用参数查找,click是可空参数
    {
      "name": "退出1.bmp|退出2.bmp",
      "position": {
        "find": "887,461,944,519",
        "click": "887,461,944,519"
      }
    }, 
    //5. color辅助多点着色可空参数,引号使用\",若没找到说明图片,则进行多点着色判断
    //   color找色数据使用综合工具获取
    {
      "name": "退出1.bmp|退出2.bmp",
      "position": {
        "find": "887,461,944,519",
        "click": "887,461,944,519"
      },
      "color":"\"b3864a-202020\",\"3|2|7d603a-202020,··· ···\",0.8"
    }, 
]

基本结构

最上方的第一个例子为基本pic节点结构,该节点也可以称为图片配置节点

  • 该节点描述了您需要查找,查找到并点击的图片信息,里面包含了 区域position点击click找色color等子对象项

  • 一个Pic配置节点 用一个{}大括号包括,分割使用,逗号分开

  • 该节点只能出现在根节点下的loopqueue或tree的do中!

以下为pic所有支持的参数及功能名称

- pic
    - name 当前目录下的图片名参数,最好带.bmp后缀
    
    - click 点击对象,控制您的点击方式(可空)
        - begin_sleep 点击前等待时间,单位ms毫秒
        - end_sleep 点击后等待时间,单位ms毫秒
        - number 点击次数
        
    - position 区域位置对象,用坐标描述区域
        - find 查找图片的区域坐标(图片出现的区域)
        - click 找到该图片后,需要点击的区域(可空)
        
    - color 多点找色参数,字符串类型,当使用图片方式未找到时,会进行数据找色的比对,若比对成功则该Pic点击继续生效

name参数

此参数为必填参数,如上方的示例中,每个PIC节点都必须有name参数

  • 若参数值为:挑战.bmp,则Config.json同级目录下必须有该文件!
  • 脚本配置找图只能接受bmp位图 格式图片,请使用综合工具截图保存才可以识别
  • 填写参数时,最好带上图片文件的后缀
  • 想要一次性查找多张图片时,使用|分割,如挑战1.bmp|挑战2.bmp

click对象

该对象可空,该对象控制着该pic的点击行为

  "click": {
    "begin_sleep": 500,
    "end_sleep": 1000,
    "number": 2
  },

以上为一段详细的click对象的描述,其中共有3个参数,begin_sleep,end_sleep,number,他们的功能如下:

  • begin_sleep:该参数控制执行点击前的延迟时间,值为毫秒单位的数字类型,如上段json中点击前延迟0.5秒后执行点击
  • end_sleep:该参数控制执行点击后的延迟时间,值为毫秒单位的数字类型,如上段json中点击后延迟1秒后执行其它图片的查找
  • number:该参数控制中间点击的次数,上段json中点击次数就为两次

注意点:

  1. 该参数唯一,每个pic中只能存在一个click对象
  2. 每张图片最好加上控制点击后延迟,否则会出现多次连续点击的状况

position对象

该对象控制了该pic节点的所有坐标区域,如最上方的示例中,每个pic都必须存在position对象节点

  "position": {
    "find": "887,461,944,519",
    "click": "887,461,944,519"
  },

以上为一段详细的position对象的描述,其中共有2个参数,find,click,他们的功能如下:

参数均为x,y,x1,y1的格式,一下图为区域大概意思:

 x,y
 ⚪----------
  |          |
  |    pic   |
  |          |
   ---------⚪
            x1,y1
            
 x,y
 ⚪-------------
  |             |
  |    click    |
  |             |
   ------------⚪
            x1,y1
  • find:该参数为找图提供区域,若图片出现在此区域中,则进行点击操作
  • click:该参数为点击提供区域,若图片被识别到后,当执行点击操作时,就会在区域中随机点击一处位置

注意:
1.此对象为必填对象,其中参数find为必填参数,此外的click参数为可选参数
2.参数值为字符串类型,如"887,461,944,519" "x,y,x1,y1",其中x1必须比x大,y1必须比y大,否则在脚本运行过程中会提示错误!
3.坐标区域都是相对坐标位置,都是在您游戏窗口中以左上角为(0,0)坐标,向右、下递增的坐标,请使用群中的综合工具使用绑定功能来获取区域!

以上为综合工具,使用绑定功能后,使用抓图功能,即可获取到截图部分坐标区域!

color参数

多点找色辅助参数 此参数可空,是辅助参数,当图片未找到时,若有此参数,则进行多点着色比对,若比对成功后,则视为找到此图片

"color":"\"b3864a-202020\",\"3|2|7d603a-202020,··· ···\",0.8"

  • 如上放代码,值采用,逗号分隔
  • 因为值中存在""双引号,所以需要在最外面的引号中间,所有"的前面都需要加上一个\,最终为" \"b3864a-202020\" "
  • 此值,可以使用群中的综合工具获取
  • 获取值的时候,需要你的图片尽量的短小精悍,在指定的find区域中具有独特的特征

以上为综合工具,使用绑定功能后,截图部分图片,尽量的小后,点击多点找色按钮,即可获取到color值,注意请将"改为\"

color_pix参数

匹配单点颜色辅助参数 此参数可空,是辅助参数,当图片未找到时,若有此参数,则进行多点着色比对,若比对成功后,则视为找到此图片

"color_pix":"384,137,f9e0a6-101010,0.9|384,132,fff7c2-101010,0.9|372,131,fff9b0-101010,0.9"
以上是一段color_pix的示例,其格式为"x,y,color,相似度|···|···",其中x,y为坐标,color为颜色,相似度为相似度,|为分隔符,多个颜色使用|分隔,最后一个颜色后面不需要|分隔符

  • 此值,可以使用群中的综合工具获取

以上为综合工具的单点颜色获取布局,使用绑定功能后,单击以下颜色块后,将鼠标移动到您需要获取的颜色上,前面是相对坐标x,y,颜色color值在上方的色彩描述中获取,相似度根据情况0.8/0.9均可设置(1也可以),点击获取后,即可获取到color_pix的单个值!

pic一些组合技巧

此对象有很多组合,用于解决各种场景的问题。

  1. 如果你需要点击动态的图片,那么意味着position中的click已经没有用了,所以你需要如下搭配:
    {
      "name": "挑战.bmp",
      "click": {
        "begin_sleep": 100,
        "end_sleep": 100,
        "number": 1
      },
      "position": {
        "find": "887,461,944,519"
      }
    }, 

如上段pic对象代码,仅填写了find参数,并没有填写click,并且当对象中存在click时,说明您查找到了,并且需要点击。这时候脚本将自动点击识别到图片的精确坐标位置x,y。

  1. 如果你需要目标出现时,仅仅点击一次,并不像这么复杂时,请这么写:
    {
      "name": "退出1.bmp",
      "position": {
        "find": "887,461,944,519",
        "click": "887,461,944,519"
      }
    },