金猪脚本Auto.js获取界面所有文字

  此源码是获取界面所有文字,希望对auto.js技术爱好者有所启示。

/**
//脚本学习交流+741318378 订制开发自动化脚本vx 104810314同扣扣
  * @method getAllText
  * @param  setting 是个对象, 决定是否获取text,desc,id,以及是否去重; 默认获取text和desc,不获取id,默认去重
  * @desc 默认设置为{
    getText: true,
    getDesc: true,
    getId: false,
    removeRepetitiveElements: true
  }
  * @desc 获取页面所有文字,可以指定text,desc,id三个中的任意几个
  * @return 所有文字组成的数组
  */
function getAllText(setting) {
    var setting = setting || {}
    var defaultSetting = {
        getText: true,
        getDesc: true,
        getId: true,
        removeRepetitiveElements: true
    }
    Object.assign(defaultSetting, setting);
    log(defaultSetting)
    var allStr = []
    var getDescAndTextAndIdOfNode = function(node) {
        if (node) {
            if (defaultSetting.getText) {
                var text = node.text()
                if (!!text) {
                    allStr.push(text)
                }
            }
            if (defaultSetting.getDesc) {
                var desc = node.desc()
                if (!!desc) {
                    allStr.push(desc)
                }
            }
            if (defaultSetting.getId) {
                var id = node.id()
                if (!!id) {
                    allStr.push(id)
                }
            }
        }
        for (let i = 0; i < node.childCount(); i++) {
            getDescAndTextAndIdOfNode(node.child(i));
        }
    }



    var getFrameLayoutNode = function() {
        return className('FrameLayout').findOne(2000)
    }
    getDescAndTextAndIdOfNode(getFrameLayoutNode())

    function removeRepetitiveElements(arr) {
        var obj = {}
        for (let i = 0; i < arr.length; i++) {
            if (obj.hasOwnProperty(arr[i])) {} else {
                obj[arr[i]] = true
            }
        }
        return Object.keys(obj)
    }
    if (defaultSetting.removeRepetitiveElements) {
        allStr = removeRepetitiveElements(allStr)
    }
    return allStr
}
var setting = {
    getId: true
}
var r = getAllText(setting)
log(r)

toastLog("完成");

学习交流加 扣扣裙 :74-131-83-78

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,以下是一个使用Python编写的简单游戏脚本示例,该脚本控制一个玩家角色在屏幕上移动和跳跃: ```python import pygame # 初始化Pygame pygame.init() # 创建游戏窗口 screen_width = 800 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("My Game") # 加载玩家图像 player_image = pygame.image.load("player.png") player_rect = player_image.get_rect() player_rect.x = screen_width // 2 player_rect.y = screen_height // 2 # 设置玩家移动速度 player_speed = 5 # 设置跳跃参数 jump_height = 80 jump_speed = 5 jumping = False jump_count = 0 # 游戏循环 running = True while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 处理玩家输入 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: player_rect.x -= player_speed if keys[pygame.K_RIGHT]: player_rect.x += player_speed if keys[pygame.K_SPACE] and not jumping: jumping = True # 处理跳跃 if jumping: if jump_count >= jump_height: jumping = False jump_count = 0 else: player_rect.y -= jump_speed jump_count += jump_speed # 绘制游戏场景 screen.fill((255, 255, 255)) screen.blit(player_image, player_rect) pygame.display.flip() # 退出Pygame pygame.quit() ``` 这个脚本使用Pygame库创建了一个游戏窗口,并加载了一个玩家图像。玩家可以使用左右箭头控制移动,使用空格键进行跳跃。跳跃高度和速度可以通过调整脚本中的参数来更改。游戏循环处理事件和玩家输入,并在屏幕上绘制游戏场景。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值