收藏
回答

函数返回和实际不一致

使用的是微信的引擎,遇到一个很抽象的问题

出现问题的代码位于内部UI kit下载ui资源时同时下载的Utils.ts的 getChildByName函数

我在内部新加上了一行:

public static getChildByName(
        entity: engine.Entity,
        name: string
    ): engine.Entity {
        const childrenCount = entity.transform2D.childrenCount;
        const childList = entity.transform2D.children;
        for (let i = 0; i < childrenCount; i++) {
            let child = childList[i].entity;
            if (child.name === name) {
                console.log(child);   // 我插入的行,打印一下返回的entity
                return child;
            }
        }
        let result = null;
        for (let i = 0; i < childrenCount; i++) {
            let child = childList[i].entity;
            result = this.getChildByName(child, name);
        }
        return


然后这是外部调用的代码

console.log(Utils.getChildByName(this.entity, "ReturnText"));


这是运行的结果:

可以看到再内部的child确实不是空的,确实找到了name为"ReturnText"的entity.但是再返回给外面的时候就变成null了,有没有大佬看看咋回事

回答关注问题邀请回答
收藏

2 个回答

  • 咩咩
    咩咩
    2023-10-10

    找到bug了,是这个函数有问题...

    2023-10-10
    有用
    回复
  • 欢乐马
    欢乐马
    2023-10-10

    已经不维护了,你还在用这个

    2023-10-10
    有用
    回复
登录 后发表内容