0

我有一个关于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;
}
4

1 回答 1

0

我通过使用不同的渲染器解决了这个问题。创建视图时,应将其作为参数传递,如下所示。

_view = new View3D({renderer: Renderer.CORRECT_Z_ORDER});
于 2011-06-14T09:57:35.980 回答