@alphago1
2017-06-22T09:25:53.000000Z
字数 3107
阅读 1207
xx
├── res //存放图片资源│ ├── sanshi.jpg│ └── spot.png├── src // 代码目录│ ├── badboy.lua│ ├── bblibs //官方推荐的库│ │ ├── underscore.lua //我自己添加的,一些小方法│ │ └── utils.lua //我自己封装的部分方法│ ├── main.lua // 程序入口│ ├── scene // 不同的场景│ │ ├── yard.lua // 场景之一(比如阴阳师的庭院)│ │ └── yard_config.lua // 在这个场景下用到的取色。注意名字要保持一致│ ├── test.lua // 用来单独测试某个方法的│ └── ui│ ├── G_ui.lua // gui,可以换成其他的│ └── setting.lua //ui 的 setting└── ui //ui.json 存放目录└── ui.json
Lua 区分大小写!大小写!请把这句话大声的念三遍!
0 不是 nil! 不是 nil!请把这句话大声的念三遍!
Scene 中文名:场景
以阴阳师举例`庭院`,`探索`,`副本的战斗` `式神录` 都可以被看做是一个场景
每个场景对应一个文件。通过require来引用
场景分的越细,越利于后期维护
每个场景都有一个入口函数 isIn,这里做一些判断,是否是当前的场景
begin
简单概况:在合适的场景下,做合适的事情
local config = {}config.cmp = {}config.mcolor = {}//多点比色, 固定地方的比色config.cmp.main ={{43,48,0xdac5a2},{64,48,0xdac5a2},{37,89,0xedaaa5},}// 多点找色。某个区域内寻找固定的颜色config.mcolor.discoveryLantern = {{657,129,0xffffc5},{642,134,0xffffbf},{663,150,0xffd898},{669,135,0xfee1a1},{652,118,0x180e08},topLeft = {430,89,0x847c6e}, //左上角的坐标bottomRight = {1032,171,0x2c3889}, // 右下角的坐标}// topLeft 跟 bottomRight 规定了一个矩形范围。
tap(x,y) 或者 tap({657,129,0xffffc5})
cmpColor(config.cmp.main)
| 参数 | 类型 | 说明 |
|---|---|---|
| array | 数组 | config.cmp 系列的数据 |
| s | 整数型 | 比色的精度 |
| 返回值 | 类型 | 说明 |
|---|---|---|
| 是否匹配 | 布尔值 | true 表示成功,false 失败 |
多点比色,用于固定颜色的比较
local x,y = findMultiColor2(config.mcolor.other)
| 参数 | 类型 | 说明 |
|---|---|---|
| poiTable | 数组 | config.mcolor 系列的数据 |
| accuracy | 整数型 | 找色的精度 |
| hdir | 整数型 | 水平搜索方向,0表示从左到右,1表示从右到左,默认为0 |
| vdir | 整数型 | 垂直搜索方向,0表示从上到下,1表示从下到上,默认为0 |
| 返回值 | 类型 | 说明 |
|---|---|---|
| x, y | 整数型 | 返回符合条件的参照点的坐标,如未找到则返回 -1,-1 |
local x,y = findMultiColorExt2(config.mcolor.other)
| 参数 | 类型 | 说明 |
|---|---|---|
| poiTable | 数组 | config.mcolor 系列的数据 |
| accuracy | 整数型 | 找色的精度 |
| hdir | 整数型 | 水平搜索方向,0表示从左到右,1表示从右到左,默认为0 |
| vdir | 整数型 | 垂直搜索方向,0表示从上到下,1表示从下到上,默认为0 |
| 返回值 | 类型 | 说明 |
|---|---|---|
| point | table类型 | 以 table 形式返回所有符合条件的参照点的坐标,如未找到则返回的table为空 |
返回的 table 为为key-value的形式,如下:
table = {
{x = 100,y = 110},
{x = 200,y = 210},
{x = 300,y = 310},
...
}
适合类似列表页面的找色,比如邮件列表,任务奖励列表
- 窗口和按钮几乎都是半透明的,背景一变就找不到了,怎么办?
- 要找的部分满屏幕飘来飘去位置不固定,怎么办?
- 要找的部分位置倒是固定了,但是有动画效果,怎么办?
- 判断是不是自己想要的按钮或者界面,到底要在什么地方取色?
- 比如一个长方形的按钮,取四个角行不行呢?
- 要取几个点?是越多越好吗?