我正在尝试在three.js中为我的应用程序使用Three.DragControls构造函数。 我运行npm install和npm install three-dragcontrols,接收将依赖项添加到包中的消息。 当我尝试使用新的Three.DragControls时,我收到错误: “THREE.DragControls不是构造函数”
代码:
SELECT * FROM (
SELECT *
FROM tblTable
ORDER BY fldField ASC
LIMIT 10000000
) tmp
GROUP BY fldField
答案 0 :(得分:2)
可能的答案(由于SO的愚蠢规则,不能将其作为评论发布):
请分享您导入/要求模块的部分代码。在许多情况下,使用这些用于Three.js的模块,您必须将它们附加到THREE
对象。
例如:
// Doesn't work:
THREE.DragControls = require("three-drag-controls");
// Does work:
THREE.DragControls = require("three-drag-controls")(THREE);
这是因为模块实际上是一个返回控件构造函数的函数。如果不首先以THREE
作为参数运行该函数,则会得到“THREE.DragControls不是构造函数”。
答案 1 :(得分:0)
对于那些试图遵循“ Three.js拖放教程”并遇到上述错误消息而来这里的用户,解决方案是安装“拖动控件”模块并按照存储库上的用法说明进行操作({{ 3}}),即将导入内容更改为:
import * as THREE from 'three';
import DragControls from 'drag-controls'
DragControls.install({THREE: THREE})
然后以这种方式创建DragControls实例:
var controls = new DragControls( objects, camera, renderer.domElement );
在那之后事情应该起作用。 希望这可以节省一些时间!