使用的是微信的引擎,遇到一个很抽象的问题
出现问题的代码位于内部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了,有没有大佬看看咋回事
找到bug了,是这个函数有问题...
已经不维护了,你还在用这个