我对cgSceneGraph 1.4.2
有几个问题节点订单 我想知道是否有办法改变画布内节点的索引。如果我们有多个节点,我创建它们的顺序就是它们在画布中的顺序,但如果有办法改变它们的顺序,这将是很好的。这样一个大节点就不会覆盖以前的节点,甚至无法访问它们。
删除所有节点并以不同顺序重绘所有节点是否有意义?这不是CPU内存要求吗?
对此有何其他想法或解决方案?
键盘按键 有没有办法只在画布内锁定键盘按键?例如,我们可能在页面内的画布上也可能存在表单。如果我们使用表单插入一些文本,那么按键也会传递给画布。
要捕捉我使用的按键事件
document.onkeydown = function (event) {
scope.onKeyDown(event);
};
document.onkeyup = function (event) {
scope.onKeyUp(event);
};
节点轮播 有没有办法像用户调整大小/缩放节点一样旋转节点?也许通过使用键作为限定符来启用旋转以防止调整大小?
对所有这些问题抱歉。感谢您的帮助和时间。
答案 0 :(得分: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)还没有关注。
希望这个帮助