Подтвердить что ты не робот

Как правильно выровнять узлы с несколькими родителями

Вот скриншот

Space tree

Я занимался этой проблемой и попытался изменить позицию Y без везения. Обратите внимание на то, что Мели Job B кажется несоответствующим. Это происходит только в том случае, если родительский блок прикреплен к нескольким родителям. Я попробовал код ниже, чтобы узнать, есть ли у коробки несколько родителей, но я не могу работать над тем, как я буду позиционировать ось Y, поскольку все они попадают в одно и то же место.

Код:

var pos = node.getPos();
var parents = node.getParents();
if(parents.length > 1) {
    var subnodes = node.getSubnodes();
    for(var i=0; i<subnodes.length; i++) {
        var yPos = subnodes[i].getPos();
        yPos.y = pos.y;
    }
}

Заранее благодарим за помощь.

4b9b3361

Ответ 1

var pos = node.getPos();
var parents = node.getParents();
var subnodes = node.getSubnodes();
for(var i=0; i<subnodes.length; i++) 
{
    var yPos = subnodes[i].getPos();
    if(parents.length > 1) 
        yPos.y = pos.y;
    else
        yPos.y = 0
}