AutoJsPro关于控件点击的三个封装

455 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

今天给大家带来了本人常用的基于控件的三个封装

希望大家喜欢

转载请声明谢谢

AutoJsPro,JavaScript收徒!

有技术问题,脚本定制,协议定制,脚本破解等问题可联系我

(个人主页有联系方式)

一.判断控件数组内是否有控件存在于屏幕内并返回布尔值

用途:使用find()组成控件数组,在判断是否有控件在屏幕内,解决了findOnce()还有findOne()在有相同控件属性的控件时可能造成的返回的控件不是自己要找的控件还有控件在屏幕外时使用坐标点击报错的不必要的麻烦(当然不包括直接使用控件点击,控件点击可以超出屏幕)

作用:判断控件数组内是否存在在屏幕内的控件并返回布尔值

function jhpd(kjjh) {    if (kjjh.length > 0) {        for (i = 0; i <= kjjh.length - 1; i++) {            var x = (kj.bounds().left + kj.bounds().right) / 2;            var y = (kj.bounds().right + kj.bounds().bottom) / 2;            if (device.width >= kjjh[i].bounds.left >= 0 && device.width >= kjjh[i].bounds.right >= 0 && device.height >= kjjh[i].bounds().top >= 0 && device.height >= kjjh[i].bounds().bottom >= 0) {                return true;            } else if (i == kjjh.length - 1) {                return false;            }        }    } else {        return false;    }}

二.返回控件集合中存在于屏幕内的控件,没有时则不返回(建议配合第一个封装使用) 

用途:返回控件集合中存在于屏幕内的控件,没有时则不返回(建议配合第一个封装使用)

function jhfh(kjjh) {
    for (i = 0; i <= kjjh.length - 1; i++) {
        if (device.width >= kjjh[i].bounds.left >= 0 && device.width >= kjjh[i].bounds.right >= 0 && device.height >= kjjh[i].bounds().top >= 0 && device.height >= kjjh[i].bounds().bottom >= 0) {
            return kjjh[i];
        }
    }
}

三.通过坐标点击控件 

用途:点击屏幕内的控件

function dj1(kj) {

    if (kj) {

        if (kj.bounds()) {

            let x = (kj.bounds().left + kj.bounds().right) / 2

            let y = (kj.bounds().top + kj.bounds().bottom) / 2

            if (device.width >= x >= 0 && device.height >= y >= 0) {

                press(x + random(1, 5), y + random(1, 5), random(100, 300))

            }

        }

    }

}

作者:造雾者

转载请声明