2302_79865412 2024-06-06 01:39 采纳率: 40%
浏览 1
已结题

关于#lua#的问题:``原代码按照id从上往下点击,如何更改click值

` local rule = R():id("com.truedian.dragon:id/edit_home_fragment"):screen(1); local views = finds(rule); for k,view in pairs(views) do print("尝试次数="..k) click((view.rect.left+view.rect.right)/2,(view.rect.top+view.rect.bottom)/2); print("点击 编辑") local t=Rnd(1,501); t=t-251 sleep(CInt(BianJi)*1000+t)``

``原代码按照id从上往下点击,如何更改click值,让他从下往上点击`
!

img

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-06 01:39
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    要修改Lua脚本以实现从下往上点击的顺序,你需要对循环的逻辑进行一些调整。以下是修改后的代码示例,它将反转循环的顺序,从而实现从最后一个视图开始点击,一直到第一个视图。

    原始代码:

    local rule = R():id("com.truedian.dragon:id/edit_home_fragment"):screen(1);
    local views = finds(rule);
    for k,view in pairs(views) do
        print("尝试次数="..k)
        click((view.rect.left+view.rect.right)/2,(view.rect.top+view.rect.bottom)/2);
        print("点击 编辑")
        local t=Rnd(1,501);
        t=t-251
        sleep(CInt(BianJi)*1000+t)
    end
    

    修改后的代码:

    local rule = R():id("com.truedian.dragon:id/edit_home_fragment"):screen(1);
    local views = finds(rule);
    -- 反转views数组的顺序
    local reversed_views = {}
    for i = #views, 1, -1 do
        table.insert(reversed_views, views[i])
    end
    
    -- 遍历反转后的数组
    for k, view in ipairs(reversed_views) do
        print("尝试次数="..k)
        -- 计算中心坐标进行点击
        click((view.rect.left + view.rect.right) / 2, (view.rect.top + view.rect.bottom) / 2);
        print("点击 编辑")
        local t = Rnd(1, 501)
        t = t - 251
        sleep(CInt(BianJi) * 1000 + t)
    end
    

    代码解释

    1. 首先,我们创建了一个空表reversed_views来存储反转后的视图数组。
    2. 然后,我们通过一个循环从views数组的最后一个元素开始,使用table.insert将元素插入到reversed_views数组的开头,实现数组的反转。
    3. 最后,我们使用ipairs遍历reversed_views数组,这样就会按照从下往上的顺序点击视图。

    参考资料

    请注意,由于我无法访问外部链接,所以提供的参考资料链接仅供参考,你可以自行搜索相关内容。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 修改了问题 6月6日
  • 创建了问题 6月6日