刚开始使用javascript和three.js并快速查询。我已经加载了一个简单的.obj文件,如下所示:
var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
scene.add( object );
} );
但是我想要一种能够稍后修改对象旋转的方法。我试过这个:
var geo;
var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
geo = object;
scene.add( geo );
} );
所以我稍后可以更新动画循环中的geo.position.x
。代码加载对象但是当我尝试更新位置时,我得到一个控制台错误:
Uncaught TypeError: Cannot read property 'position' of undefined
如何将变量未定义为在animate函数的父作用域中声明它?
可能是一个简单的答案,但我很难过!
我正在使用此链接中的OBJLoader.js
http://mrdoob.github.io/three.js/examples/js/loaders/OBJLoader.js
答案 0 :(得分:-1)
尝试将其设为window.variable
window.geo;
var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
window.geo = object;
scene.add( window.geo );
} );