2013-02-20 63 views
0

幾個問題我有cgSceneGraph幾個問題1.4.2上cgSceneGraph 1.4.2

節點訂購 我不知道是否有改變畫布內的節點的索引方式。如果我們有多個節點,我創建它們的順序就是它們在畫布中的順序,但是如果有方法來改變它們的順序,這將非常棒。這樣一個大節點不會覆蓋以前的節點,從而阻止您訪問它們。

會移除所有的節點和重繪他們都以不同的順序纔有意義?這是不是CPU內存要求?

任何其他的想法或解決方案呢?

鍵盤按鍵 有沒有辦法鎖定鍵盤按鍵只在畫布內按?例如,我們可能會在頁面內部放置一個表單,也可能存在一個表單。如果我們使用表單插入幾個文本,那麼按鍵也會傳遞到畫布上。

要抓住關鍵按下事件我用

document.onkeydown = function (event) { 
    scope.onKeyDown(event); 
}; 
document.onkeyup = function (event) { 
    scope.onKeyUp(event); 
}; 

節點旋轉 有沒有辦法以同樣的方式,用戶調整大小/縮放它們旋轉的節點?也許通過使用一個鍵作爲限定符來啓用旋轉來調整大小?

對不起,所有這些問題。感謝您的幫助和時間。

回答

0

這裏有3個問題:)

第一個

: cgSceneGraph將呈現他們已添加的順序列出節點。 因此,要改變的z-index(存在於框架沒有的z-index),你必須使用這2種方法(這是我們使用我們的應用程序):

CGSGNode::detachChild // will detach the child from its parent without destroy it. To destroy it, use "removeChild" instead 

CGSGNode::addChild(childNode); // or "accChildAt(index)" 

速度非常快,所以您可以實時使用它。

第二個: cgSceneGraph已經趕上鍵盤事件(多爲多選)。 如果你想覆蓋這個,你必須爲你的處理程序方法命名一個不同於框架使用的方法。

第三個問題: 這不是一個「原生」的特點。通過擴展框架(這是非常可擴展的)總是可能的,但它將成爲cgSceneGraph的第二版的一部分(在良好的方式上進行開發:))。 在框架的V1上旋轉已經完全正常,但是所選對象的邊界框在實際旋轉中還沒有注意(在v1中)。

希望得到這個幫助

+0

感謝您的快速回復。 關於第一個問題和你的答案。您在這裏描述的方式將使我有機會將節點移到另一個節點上,因爲它只是重新創建一個節點,所以它會覆蓋其他每個節點。我說的是增加或減少它的索引一個,或者如果你喜歡,一個節點可以將它的索引與下一個索引進行交換,如果增加,或者前一個索引減少。 – walkero 2013-02-20 23:21:22

+0

它不會重新創建節點。有了'detachChild',你的節點仍然存在,但不再連接到它的父節點(不再連接到任何節點)。然後,將節點重新附加到同一個父節點,但在列表末尾(使用'addChild')或列表中的所需位置(使用'addChildAt')。您可以輕鬆創建一種方法,使用這兩種方法來增加或減少節點的當前索引。其實這是一個好主意,我會在V2中添加這樣的方法:) – 2013-02-21 08:31:36

+0

謝謝你的幫助。你幫助我把我的項目推進。 – walkero 2013-02-21 12:40:40