函数:getColor 获取屏幕某点颜色值
函数名称:获取颜色
函数功能:获取某一点的颜色值并返回十进制值
函数方法
color = getColor(x, y)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
x | number | 是 | 将获取颜色值的屏幕横坐标 |
y | number | 是 | 将获取颜色值的屏幕纵坐标 |
返回值 | 类型 | 说明 |
---|---|---|
color | number | 该点的十进制颜色值 RGB |
函数用例
--方法一
color = getColor(100, 100)
--将 color 转换成十六进制颜色值
nLog(string.format("100,100 颜色值为:0x%X",color))
---方法二,方法一返回错误时请使用此方法
local color = getColor(328,401)
--将 color 转换成十六进制颜色值
nLog(string.format("100,100 颜色值为:0x%06x",color))
如果某点符合某颜色则点击
color = getColor(100, 100); --获取(100,100)的颜色值,赋值给 color 变量
if color == 0xffffff then --如果该点的颜色值等于 0xffffff
touchDown(100, 100); --那么点击该点
mSleep(30);
touchUp(100, 100);
end
亦可写作
if getColor(100, 100) == 0xffffff then
touchDown(100, 100);
mSleep(30);
touchUp(100, 100);
end
名词解析
整型,指的是可以用十、十六、八进制指定的数据类型。使用十六进制符号,必须加上 0x。
赋值是 Lua 基本语法,操作符为 "="(一个等号)。
等于是 Lua 基本语法,属于条件控制,操作符为 "=="(两个等号)。新手常常将等于写作赋值,从而导致编译出现错误。
注意事项
getColor 与 getColorRGB 的作用是一样的,只不过前者返回单变量,后者返回 R,G,B 三个变量。
如直接使用例子中的代码进行测试,请在全部代码之前,加入 2 ~ 3 秒延迟,或者使用循环语句。 因为脚本开始运行时,会出现音量提示遮盖在前台,影响获取颜色。
特别注意,getColor 函数获得的颜色值十六进制文本中,实际顺序为 R G B。
参考资料 如何获取屏幕上某点的颜色
在你想在设备上截图,iOS 同时按下
电源键
和Home 键
,安卓为电源键
和音量键-
即可进行截图(此时屏幕会闪一下)。推荐使用触动精灵抓色器,可方便的获取所需坐标点的颜色信息。
雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。