= 0; i--) { let itemN = this["shopBoard" + ...-Go服务器开发" />

ZBLOG

let collectAll = false; for (let index = 0; index < 12; index++) { let children = this["shopBoard" + index].children; for (let i = children.length - 1; i >= 0; i--) { let itemN = this["shopBoard" + ...

如果同一个柜子拥有相同的物品,你可以考虑在循环之前先对柜子中的物品进行去重处理。这样可以避免重复操作相同的物品。

以下是一种可能的优化方案:

let collectedItem = null;
for (let index = 0; index < 12; index++) {
    let children = this["shopBoard" + index].children;
    for (let i = children.length - 1; i >= 0; i--) {
        let itemN = this["shopBoard" + index].children[i];
        let nodeContainerId = itemN.getComponent(containerItem).containerId;
        
        if (containerId == nodeContainerId) {
            // 如果已经收集到了相同的物品,则直接跳过
            if (collectedItem && collectedItem === itemN) {
                continue;
            }
            
            if (collectAll) {
                return;
            } else {
                collectAll = this.autoAddContainerToPlayer(tarPlayer, itemN);
                collectedItem = itemN; // 记录已经收集到的物品
                break;
            }
        }
    }
}

通过引入collectedItem变量来记录已经收集到的物品,在后续循环中跳过相同的物品,以避免重复操作。这样就能够优化代码逻辑,确保每个柜子中只会被处理一次。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:= 0; i--) { let itemN = this["shopBoard" + ...">https://golang.0voice.com/?id=17392

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?