Как получить ребенка верхнего уровня в away3D? - PullRequest
0 голосов
/ 16 мая 2011

У меня есть маленький вопрос, связанный с away3D.У меня есть несколько кубов с точно такими же размерами, которые расположены в одном месте.Когда я нажимаю на стек кубов, я хочу зарегистрировать щелчок на кубе, который я добавил последним.Вместо этого клик регистрируется в кубе, который я добавил первым.

Я нашел способ изменить положение кубов в контейнере и попытался поместить элемент в конец (код ниже) и запустить childrenArray, но, похоже, ничего не работает.Я действительно застрял здесь, так что если кто-нибудь знает, как получить элемент верхнего уровня при нажатии на стек, я был бы рад услышать.

//We get the targetCube's childIndex.
for(var i:uint = 0; i < _3DContent.children.length; i++)
{
    if(_targetCube == _3DContent.children[i])
        break;
}

//Now we rearrange the array if the targetCube is different from
//the last cube in our list of children.
if(i != _3DContent.children.length-1)
{
    //We reposition the children.
    for(var j:uint = i; j < _3DContent.children.length-1; j++)
        _3DContent.children[j] = _3DContent.children[j+1];

    //Lastly, we push the child.
    _3DContent.children[_3DContent.children.length-1] = _targetCube;
}

1 Ответ

0 голосов
/ 14 июня 2011

Я решил проблему с помощью другого рендерера.При создании вашего представления вы должны передать это как параметр, как показано ниже.

_view = new View3D({renderer: Renderer.CORRECT_Z_ORDER});
...