node.js - 三个在 Node.js 上使用 JSONLoader

标签 node.js three.js collision

我需要在我的node.js 服务器上使用 Three.js 来控制玩家的位置和碰撞(我尝试制作一个视频游戏)。

要在nodejs上使用三个,我已经使用“npm install Three”进行安装,并且它可以工作。

但是当我想调用 JSONLoader 时,我不能。

我是我的类(class),我添加:

var THREE =require('three'); //or require('three/three.js');
var JSON=require('three/src/loaders/JSONLoader.js');

require('three'); //or 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 ){
...
});
Error : XMLHttpRequest is not defined.

我想,我没有正确使用,但我不明白我的错在哪里?

你能帮我吗?

非常感谢。

最佳答案

您不需要第二行,即

var JSON = require('three/src/loaders/JSONLoader.js');

如果您正确加载 Three.js ,例如

var THREE = require('three/three.js')

JSONLoader 已经存在,因此 THREE.JSONLoader 应该可以正常工作。

顺便说一句,您收到此错误的原因是 JSONLoader.js 的代码取决于全局范围内 THREE 对象的存在。但是,它不存在,因为您的 THREE 对象是本地的。

关于node.js - 三个在 Node.js 上使用 JSONLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19455087/

相关文章:

swift - 无法将类型 "Game Scene"的值分配给类型 "SKPhysicsContactDelegate"的值

unity-game-engine - Unity - 如何在触发输入时获取碰撞角度?

node.js - 关于向客户端广播消息的逻辑问题

java - 以编程方式启动 Appium 服务失败

javascript - 如何在 Three.js 场景中包含 OVRManager?

javascript - 如何用js在canvas中制作雾化效果或模糊效果?

javascript - 如何在 Three.js 中比较像素

java - "Perfect"碰撞检测算法修复

javascript - 如何创建 Koa2 中间件来修改响应主体并在链中最后运行?

javascript - Mongoose 和 Schema.Types.Mixed 的问题