2011-05-16 78 views
0

我有一個關於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; 
} 

回答

0

我使用不同的渲染器解決了這個問題。創建視圖時,應將其作爲參數傳遞,如下所示。

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