three.js入門系列之導入拓展類


先來看一下three.js包的目錄結構:

我們使用的時候,可以一次性import所有的功能,也可以按需引入,全依賴three.module.js這個文件對three.js的功能作了模塊化處理;

但是,該模塊化處理的功能僅僅是引入了src下面的所有功能類,實際開發中,我們還需要拓展包(examples)里面的諸多功能,但是如果還像之前一樣直接實例化對象的話,會報如下錯誤:

這是因為,PointerLockControls這個方法(類)是在拓展包里面的,而three.module.js並沒有將其引入(如果你是通過script標簽引入該功能的話,后面的內容可以無視),所以,我們需要手動引入該功能模塊。

一、PointerLockControls.js模塊化

先打開three/examples/js/controls/PointerLockControls.js文件,它是這樣的:

因為是在THREE這個對象上添加的屬性(方法),所以通過script標簽直接引入是沒有任何問題的,但是我們現在要做的是將其模塊化:

①將該文件中所有THREE.PointerLockControls替換成PointerLockControls;

②防止該功能模塊有對其他three.js模塊的依賴,引入three.js

③文件開頭用var申明PointerLockControls;

④文件末尾添加export;

二、three.module.js引入拓展模塊

打開three/build/three.module.js文件至末尾,添加該模塊:

三、在你的頁面直接調用該模塊吧

這樣,你就可以像調用其他three.js模塊類一樣,直接調用該拓展類了。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM