三个使用JSONLoader在node.js上 [英] Three on node.js with JSONLoader
问题描述
我需要在node.js服务器上使用three.js来控制玩家的位置和碰撞(我尝试制作视频游戏)。
要使用在nodejs上运行三个,我已经安装了 npm install three,并且可以正常工作。
但是当我想调用JSONLoader时,不能。
我是我的班级,我添加:
var三个= require('three') ; //或require('three / three.js');
var JSON = require('three / src / loaders / JSONLoader.js');
或
require('three'); //或require('three / three.js');
var JSON = require('three / src / loaders / JSONLoader.js');
同样,我有一个错误,未定义三个,我不理解为什么?
要解决此错误,我将JSON代码放在three.js文件中,但是在加载json时发现了另一个问题:
var loader = new THREE.JSONLoader();
loader.load(__ dirname +‘/public/js/essai/test.dae’,function(collada){
...
});
错误:未定义XMLHttpRequest。
我认为我没有正确使用,但我不理解我的错在哪里? / p>
您能帮我吗?
非常感谢您。
您不需要第二行,即
var JSON = require('three / src / loaders / JSONLoader.js');
如果正确加载 three.js
,因此例如
var THREE = require('three / three.js')
JSONLoader
已经存在,因此 THREE.JSONLoader
应该可以正常工作。
顺便说一句,出现此错误的原因是因为 JSONLoader.js
取决于全局范围中三个
对象的存在。但是,它不存在,因为您的三个
对象是本地的。
I need to use three.js on my node.js server to control positions and collisions on players (I try to make a video game).
To use three on nodejs, I have install with "npm install three", and it's works.
But when I want call JSONLoader, I can't.
I my class, I add :
var THREE =require('three'); //or require('three/three.js');
var JSON=require('three/src/loaders/JSONLoader.js');
or
require('three'); //or require('three/three.js');
var JSON=require('three/src/loaders/JSONLoader.js');
It the same, I have an error, "THREE is not defined" and I don't undestand why?
To resolve this error i put the JSON code in the three.js file, but I find an other problem when I load json:
var loader = new THREE.JSONLoader();
loader.load(__dirname + '/public/js/essai/test.dae',function ( collada ){
...
});
Error : XMLHttpRequest is not defined.
I think, I don't use correctly but I don't undestand where is my fault?
Can you help me plz?
Thank you very much.
You don't need the socond line, i.e.
var JSON = require('three/src/loaders/JSONLoader.js');
If you load three.js
properly, so e.g.
var THREE = require('three/three.js')
the JSONLoader
is already there, so THREE.JSONLoader
should work just fine.
BTW, the reason why you're getting this error is because the code of JSONLoader.js
depends on existance of THREE
object in the global scope. But, it's not there because your THREE
object is local.
这篇关于三个使用JSONLoader在node.js上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!