@alphago1
2017-06-22T09:25:53.000000Z
字数 3107
阅读 1073
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},
...
}
适合类似列表页面的找色,比如邮件列表,任务奖励列表
- 窗口和按钮几乎都是半透明的,背景一变就找不到了,怎么办?
- 要找的部分满屏幕飘来飘去位置不固定,怎么办?
- 要找的部分位置倒是固定了,但是有动画效果,怎么办?
- 判断是不是自己想要的按钮或者界面,到底要在什么地方取色?
- 比如一个长方形的按钮,取四个角行不行呢?
- 要取几个点?是越多越好吗?