簡體   English   中英

TypeError:在three.js中使用DAT.gui()時未定義DAT

[英]TypeError: DAT is undefined when using DAT.gui() in three.js

我正在嘗試在代碼中使用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字母使用dat.GUI ,但仍然是同樣的問題。 似乎my.js無法到達DAT.GUI.min.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);

現在是大寫字母就像你做的那樣:

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嗎?

EDIT2

嗯,這一次,您可以這樣格式化所有代碼嗎?

var params = {
    z: 100
}

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

如果那個劑量工作不適,需要有一個掠奪者。

我只是遇到了同樣的問題,並意識到在我的index.html文件中,我主javascript文件之后獲取了dat.gui庫。 將dat.gui腳本src移到我的main.js腳本src 之前,可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM