three.js FileLoader

2023-02-16 17:44 更新

使用XMLHttpRequest來加載資源的低級類,并由大多數(shù)加載器內(nèi)部使用。 它也可以直接用于加載任何沒有對應(yīng)加載器的文件類型。

代碼示例

const loader = new THREE.FileLoader();

//加載一個文本文件,并把結(jié)果輸出到控制臺上
loader.load(
	// resource URL
	'example.txt',

	// onLoad回調(diào)
	function ( data ) {
		// output the text to the console
		console.log( data )
	},

	// onProgress回調(diào)
	function ( xhr ) {
		console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
	},

	// onError回調(diào)
	function ( err ) {
		console.error( 'An error happened' );
	}
);

注意: 必須啟用緩存

THREE.Cache.enabled = true;

這是一個全局屬性,只需要設(shè)置一次,供內(nèi)部使用FileLoader的所有加載器使用。 Cache 是??一個緩存模塊,用于保存通過此加載器發(fā)出的每個請求的響應(yīng),因此每個文件都會被請求一次。

構(gòu)造函數(shù)

FileLoader ( manager : LoadingManager )

manager — loadingManager 是加載器所使用的加載管理器。 默認(rèn)為 DefaultLoadingManager.

屬性

共有屬性請參見其基類Loader。

.mimeType : String

詳情 mimeType. 請參考 .setMimeType。默認(rèn)為 undefined。

.responseType : String

請求的響應(yīng)類型。 請參考 .setResponseType. 默認(rèn)為 undefined.

.withCredentials : String

XMLHttpRequest是否使用證書。 請參考 .setWithCredentials. 默認(rèn)為 undefined.

方法

共有方法請參見其基類Loader。

.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined

url — 文件的URL或者路徑,也可以為 Data URI.
onLoad (可選) — 加載完成時將調(diào)用。回調(diào)參數(shù)將是加載的響應(yīng)。
onProgress (可選) — 將在加載過程中進(jìn)行調(diào)用。參數(shù)將是XMLHttpRequest實(shí)例, 其中包含 total 和 loaded 字節(jié)
onError (可選) — 在加載錯誤時被調(diào)用。

加載URL并將響應(yīng)傳遞給onLoad函數(shù)。

.setMimeType ( mimeType : String ) : this

設(shè)置正在加載的文件預(yù)期類型 mimeType 。請注意,在許多情況下,這將自動確定,因此默認(rèn)情況下它是 undefined 。

.setResponseType ( responseType : String ) : this

改變響應(yīng)的類型,其類型有效值如下:

text 或者空 string (默認(rèn)) - 返回的數(shù)據(jù)類型為 string.
arraybuffer - 加載的數(shù)據(jù)類型到一個數(shù)組buffer中 ArrayBuffer 并進(jìn)行返回。
blob - 返回的數(shù)據(jù)為 Blob。
document - 使用 DOMParser 解析文件。
json - 將文件解析為 JSON.parse.

src/loaders/FileLoader.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號