如何在away3D中获得顶级孩子?

时间:2011-05-16 07:44:11

标签: flash actionscript-3 3d away3d

我有一个关于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 :(得分:0)

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

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