1

我正在尝试DAT.gui在我的代码中使用来控制相机three.js

我在文件中包含以下内容index.html

<script type='text/javascript' src='../_libs/DAT.GUI.min.js'></script>

我确保从build文件夹中获取文件

my.js当我在文件中使用以下代码时

var gui = new DAT.GUI();
    gui.add(camera.position, 'x', -500,500).step(5);
    gui.add(camera.position, 'y', -500,500).step(5);
    gui.add(camera.position, 'z', 1000,5000).step(5);

我收到以下错误TypeError: DAT is undefined。我也尝试使用dat.GUI小写字母,但仍然是同样的问题。似乎my.js无法访问DAT.GUI.min.js但为什么可以访问其他文件。

4

2 回答 2

0

我只是遇到了同样的问题,并意识到在我的 index.html 文件中,我在我的主 javascript 文件之后采购了 dat.gui 库。将 dat.gui 脚本 src 移动到我的 main.js 脚本 src之前修复了这个问题。

于 2018-07-31T14:42:18.713 回答
0

它应该是这样的小写..

var gui = new dat.GUI();
    gui.add(camera.position, 'x', -500,500).step(5);
    gui.add(camera.position, 'y', -500,500).step(5);
    gui.add(camera.position, 'z', 1000,5000).step(5);

现在大写就像你做的那样:

var gui = new DAT.GUI();
    gui.add(camera.position, 'x', -500,500).step(5);
    gui.add(camera.position, 'y', -500,500).step(5);
    gui.add(camera.position, 'z', 1000,5000).step(5);

这就是为什么它说 DAT 未定义。希望这有帮助!

编辑

嗯,我刚刚看到你尝试了 dat 小写。这里的问题是缩小的 javascript 版本。我真的不推荐 min.js ......你可以试试 .js 吗?

编辑2

嗯,这一次,你可以通过像这样格式化所有代码来检查:

var params = {
    z: 100
}

gui.add(params, 'z', -500, 500).step(5).onChange(function(value) {
    camera.position.z = value;
});

如果那个剂量工作不正常,就需要一个笨拙的人。

于 2016-03-24T01:47:16.067 回答