首页 > 解决方案 > 从场景图树循环

问题描述

我正在尝试使用绘制函数遍历我的场景图,该函数旨在获取世界矩阵并将其乘以局部矩阵。我相信我需要递归调用该函数,以便它通过树工作。

到目前为止,我的功能看起来像这样

draw(pContext, pWorldTransformMatrix)
{
    var newTransformMatrix = new Matrix()
    newTransformMatrix = pWorldTransformMatrix.multiply(this.mMatrix);
    newTransformMatrix.setTransform(pContext);
    // var child = new sceneGraph();
    for (var x =0; x<this.getNumberOfChildren(); x+=1)
    {
        var child = this.getChildAt(x);
        // child = this.getChildAt(x);
        child.draw(pContext, newTransformMatrix);
    }

}

我收到错误

TypeError: 无法读取 sceneGraph.draw (\adir.hull.ac.uk\home\528\528986\Desktop\500085 2DCGAS\lab\js\sceneGraph.js:39:20) 处未定义的属性“draw”

at sceneGraph.draw重复 7 次,我认为这是树中的每个节点。

这个错误来自我的功能吗?如果是这样,我会怎么想这个错误?

标签: javascriptscenegraph

解决方案


推荐阅读