请教该如何定位ScrollView子节点的位置?

使用以下的代码说明问题:

let sv = cc.find( 'Canvas/ScrollView' ).getComponent( cc.ScrollView );

#取得现在的Scroll偏移位置: { x: 0, y: 0 }
let now = sv.getScrollOffset();

#取得最大的Scroll偏移位置: { x: 0, y: 1200 }
let max = sv.getMaxScrollOffset();

接着,我想去遍历所有子节点,取得它们每一个位置,再决定该Scroll至多少的Offset

let childs = sv.content.children;
for( let idx = 0; idx < childs.length; idx++ )
{
    let node = childs[idx];
    cc.log( 'node.y = ' + node.y );
}

结果,我拿到的node.y是负值,并且还会大于 sv.getMaxScrollOffset() 所取得的Y值,
例如最后一个node的 node.y 竟然是 -1780…

我本来想反转这个node.y,就可以拿到正确的y轴位置,结果跟我想的不一样 :joy:

请教各位大神,我该如何正确的判断每个node的位置?

頂一下QwQ

content节点的Y轴锚点在1的话,所有子节点的位置都是负数,你可以在场景里模拟添加一下子节点,看看位置关系

1赞

把scrollview的锚点设为左上角 就好算多了啊

1赞

是我的問題,我的anchor的確在上頭
謝謝前輩的提點XD

:joy:不用客气,我也不是啥前辈,只是热心的吃瓜群众

1赞

请教一下
getMaxScrollOffset获取到数据一直是0是怎么回事