函数: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 键,安卓为 电源键音量键-即可进行截图(此时屏幕会闪一下)。

  • 推荐使用触动精灵抓色器,可方便的获取所需坐标点的颜色信息。

  • 常见颜色表:http://www.114la.com/other/rgb.htm

  • 雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。

Copyright 北京帮你玩科技有限公司 2024 all right reserved,powered by Gitbook该文章修订时间: 2024-10-08 11:38:05

results matching ""

    No results matching ""