0

我有几个关于 cgSceneGraph 1.4.2 的问题

节点顺序 我想知道是否有办法更改画布内节点的索引。如果我们有多个节点,我创建它们的顺序就是它们在画布中的顺序,但是如果有一种方法可以改变它们的顺序,那就太好了。这样一个大节点就不会覆盖以前的节点,甚至阻止你访问它们。

删除所有节点并以不同的顺序重新绘制所有节点是否有意义?这对 CPU 内存要求不高吗?

对此还有其他想法或解决方案吗?

键盘按键 有没有办法只在画布内锁定键盘按键?例如,我们可能在页面内有画布,而表单也可能存在。如果我们使用表单插入一些文本,那么按键也会传递到画布。

为了捕捉我使用的按键事件

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

节点旋转 有没有办法以与用户调整大小/缩放节点相同的方式旋转节点?也许通过使用键作为限定符来启用旋转以防止调整大小?

很抱歉所有这些问题。感谢您的帮助和时间。

4

1 回答 1

0

这里有3个问题:)

第一个:cgSceneGraph 将按照添加的顺序渲染节点。因此,要更改 z-index(框架上没有 z-index),您必须使用这两种方法(这就是我们在应用程序中使用的方法):

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 v2 的一部分(发展的好方法:))。在框架的 V1 上旋转已经完全可以,但是所选对象的边界框还没有(在 v1 中)实际旋转。

希望这有帮助

于 2013-02-20T21:54:45.617 回答