叉叉助手论坛

 找回密码
 立即注册
查看: 24975|回复: 7

[经验分享] 小明带你玩转叉叉开发—脚本开发第三讲

[复制链接]
  • TA的每日心情
    慵懒
    2017-5-16 20:38
  • 签到天数: 74 天

    连续签到: 2 天

    [LV.6]武林新贵

    41

    主题

    346

    帖子

    1264

    叉烧

    认证开发者

    Rank: 9

    积分
    1610
    QQ
     楼主| 发表于 2016-9-16 17:21 | 显示全部楼层 |阅读模式

    注册登录后就可以到叉叉许愿池求脚本啦~

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 小明是我的 于 2016-10-29 12:00 编辑










    Hi亲爱的开发者,欢迎来到小明带你玩转叉叉开发!无论你是我们的老朋友还是萌新,通过阅读小明的教程,都能帮你更快地熟悉脚本开发的相关内容~


    第九节 脚本开发第三节
    上一节我们说完了颜色命令
    由于小明上次发完第二节之后就沉迷c#不能自拔 所以这一节拖了很久


    那么天才第一步 打开IDE连接手机

    按照一节一段的进度来看 今天就只有三个内容呢

    QQ截图20160916170308.jpg


    QQ截图20160916170336.jpg


    文字命令中的后两个命令实际上是个挺麻烦的事情 所以我打算不讲了 只讲文字命令中的输入字符串命令 那么今天总共就将4个内容

    那么第一个 模糊区域找图

    这个跟我们上节讲到的模糊区域找色非常相似 只是一个找颜色 一个找图

    x, y = findImageInRegionFuzzy("test_alpha.png", 100, 0, 0, 320, 480, 0xffffff);
    if x ~= -1 and y ~= -1 then        --如果在指定区域找到某图片符合条件
        touchDown(1, x, y);            --那么单击该图片
        touchUp(1, x, y);
    else                               --如果找不到符合条件的图片
        dialog("未找到符合条件的坐标!",0);
    end


    这是IDE给出的代码

    那么第一行 在0, 0, 320, 480区域内寻找test_alpha.png这张图片 相似度100
    最后一个0xffffff意思是alpha值也就是透明
    那么剩下几行行 如果找到图片就点击这个坐标 为什么是-1我们上节也有说过 ifelse的判断问题我们也说过 这里就不多说了

    注意:图要放进res文件夹

    第二个截图

    snapshot("1.png", 0, 0, 1079, 1919); --全屏截图(分辨率1080*1920)
    这是ide给出的代码

    我们来分析一下
    首先这个截图的文件名叫做1.png 0, 0, 1079, 1919很明显是xy坐标的表示 也就是从我们屏幕的x0坐标和y0坐标开始到x1079 y1919之间截图


    那么这里我们还有一个参数要讲 在xy坐标参数后面 还有一个参数qualit
    这个参数用来控制jpg的图像质量 也就是我们的截图文件名要为1.jpg


    这个时候 我们就可以用lua的os时间库 具体的用法我会在番外篇介绍

    current_time = os.date("%Y-%m-%d", os.time());
    snapshot(current_time..".png", 0, 0, 1079, 1919);  --截图并以当前时间戳命名


    那么第三个保持屏幕

    keepScreen(true);
    for k = 1, 640, 10 do
        for j = 1, 960, 10 do
            --格式化为十六进制文本
            color = string.format("%X", getColor(k, j));
            --输出到系统日志
            sysLog("("..k..", "..j..") Color: "..color..".");
        end
    end
    keepScreen(false);


    这是ide给出的代码

    功能是脚本中保持当前屏幕内容不变,多次调用取色、找色、截图、找图等函数时,直接调用保持的屏幕内容。该函数主要用于优化找图找色函数的效率。


    那么第一行keepscreen(true) true是一个bool值 我们在这里可以理解为让保持屏幕为生效


    下面的for代码画风不一样啊 小明看到也表示一脸懵逼 QQ图片20160828171504.jpg 但是我们只要知道他是在遍历我们的屏幕区块就行了
    然后用syslog输出出来 输出完毕之后 keepscreen(false)  让保持屏幕为失效状态


    第"四"个
    这个是文字命令里面的一个代码

    输入字符串

    inputText("#CLEAR#") --删除输入框中的文字(假设输入框中已存在文字)
    inputText("Welcome.#ENTER#"); --在输入框中输入字符串"Welcome."并回车


    这是ide给出的代码

    相信他给的注释已经很清楚了

    #CLEAR#和#ENTER是控制字符

    注意事项:

    1.使用该函数前,必须先点击输入框获取焦点(指使当前的输入光标停留在某一输入框中)。
    2.iOS系统上,该函数不支持第三方输入法(指百度输入法、搜狗输入法等),请切换到系统内置输入法方可使用,对于弹出的窗口,需要先初始化再使用该函数,例如 App Store登录窗口(该窗口识别ID 为"com.apple.springboard"),安卓则无此限制。。
    3.可使用控制字符,包括 \n、\r、#ENTER#、#CLEAR#;#CLEAR#表示清空,需要注意的是,#ENTER#并非支持在所有应用中使用。






    那么这节就到这里 我们下节再见

    无极之道?呵,从来没听说过
    QQ:1013041767
  • TA的每日心情
    开心
    2016-9-18 15:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初入江湖

    主题

    帖子

    10

    叉烧

    叉烧游民

    Rank: 1

    积分
    16
    发表于 2016-9-18 16:21 来自手机 | 显示全部楼层
    开发者,这个怎么获取?

    点评

    参考置顶帖  详情 回复 发表于 2016-9-21 15:48
  • TA的每日心情
    开心
    2016-9-18 11:35
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初入江湖

    主题

    帖子

    22

    叉烧

    叉烧游民

    Rank: 1

    积分
    28
    发表于 2016-9-19 11:26 来自手机 | 显示全部楼层
    热血之怒
  • TA的每日心情
    慵懒
    2017-5-16 20:38
  • 签到天数: 74 天

    连续签到: 2 天

    [LV.6]武林新贵

    41

    主题

    346

    帖子

    1264

    叉烧

    认证开发者

    Rank: 9

    积分
    1610
    QQ
     楼主| 发表于 2016-9-21 15:48 | 显示全部楼层
    发现你wwv 发表于 2016-9-18 16:21
    开发者,这个怎么获取?

    参考置顶帖
    无极之道?呵,从来没听说过
    QQ:1013041767

    该用户从未签到

    主题

    帖子

    6

    叉烧

    叉烧游民

    Rank: 1

    积分
    10
    发表于 2016-10-4 21:15 来自手机 | 显示全部楼层
    阿里具体

    该用户从未签到

    主题

    帖子

    3

    叉烧

    叉烧游民

    Rank: 1

    积分
    4
    发表于 2016-10-5 09:53 来自手机 | 显示全部楼层
    公公出宫
  • TA的每日心情

    2017-3-14 19:56
  • 签到天数: 19 天

    连续签到: 2 天

    [LV.4]后起之秀

    主题

    帖子

    217

    叉烧

    认证开发者

    Rank: 9

    积分
    217
    发表于 2017-2-14 13:53 | 显示全部楼层
    snapshot("1.png", 0, 0, 1079, 1919); --全屏截图(分辨率1080*1920)
    切屏后的文件去哪里了?
  • TA的每日心情
    开心
    2017-3-11 21:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初入江湖

    主题

    帖子

    64

    叉烧

    认证开发者

    Rank: 9

    积分
    64
    发表于 2017-3-5 07:59 | 显示全部楼层
    res文件夹哪个路径。。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|叉叉助手论坛 ( 粤ICP备14002181号-1

    GMT+8, 2017-5-29 10:04 , Processed in 0.295274 second(s), 39 queries .

    Powered by 叉叉助手 X3.1

    © 2013-2014 叉叉

    快速回复 返回顶部 返回列表