scene.add(object)创建一个“未捕获的TypeError:无法读取未定义的属性'长度'”

时间:2011-12-05 06:06:47

标签: collada three.js

使用collada对象在我的javascript控制台(在Chrome中)中获取该错误我试图使用基本加载器添加。它特别来自“scene.add(object)”块。其他一切似乎都很好。加载对象的代码如下

var ltable;
var furnLoad = new THREE.ColladaLoader();

function addlt(){
        furnLoad.load('../Models/Furniture/foldingLongTable.dae', function(collada){
                ltable = collada.scene;
                ltable.scale.x=ltable.scale.y=ltable.scale.z=1;
                ltable.updateMatrix();
                ltable.position.x=ltable.position.z=ltable.position.y=0;
        });
        scene.add( ltable );
}

在页面初始化期间调用此函数,否则,工作正常。可以找到该页面here(没有此表的版本具有相同的URL,但最后只有4而不是3),以及特定对象here

通过此错误的推荐方法是什么?

2 个答案:

答案 0 :(得分:0)

解决。 Collada装载机只是讨厌成为任何功能的一部分而在它们中时不会起作用。因此,解决方法是将它们置于功能之外,它们的工作正常。

答案 1 :(得分:0)

此问题的答案是由于scene.add()位于回调函数之外的位置。它在回调触发之前被调用,因此是未定义的错误。