三个使用JSONLoader在node.js上 [英] Three on node.js with JSONLoader

查看:87
本文介绍了三个使用JSONLoader在node.js上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆