LoadingManager.getHandler()
是一个用于从给定的URL获取文件加载器的方法。这个方法返回用于指定URL的文件加载器函数。
LoadingManager.getHandler( url )
url
: 带有扩展名的文件路径或URL。使用 LoadingManager.getHandler()
方法来从给定的URL获取文件加载器。
var manager = new THREE.LoadingManager();
var loader = manager.getHandler( 'path/to/3d/model.obj' );
getHandler()
方法返回用于指定URL的文件加载器函数。
function( url, onLoad, onProgress, onError ) {
//加载代码
};
你还可以使用 DefaultLoadingManager
来加载或管理多个资源。
var textureLoader = new THREE.TextureLoader( manager );
var objLoader = new THREE.OBJLoader( manager );
var textureLoader = new THREE.TextureLoader();
var objLoader = new THREE.OBJLoader();
var manager = new THREE.LoadingManager();
manager.addHandler( /\.dds$/i, textureLoader );
manager.addHandler( /\.obj$/i, objLoader );
manager.onLoad = function () {
console.log( 'Load complete!' );
};
manager.onStart = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Loading started!' );
};
manager.onProgress = function ( url, itemsLoaded, itemsTotal ) {
console.log( 'Loading proceeding!' );
};
manager.onError = function ( url ) {
console.log( 'Loading failed!' );
};
// 加载模型
objLoader.load( 'path/to/3d/model.obj', function ( object ) {
// 加载成功后的代码
}, onProgress, onError );
在上述代码中,我们使用 addHandler()
方法来添加一个用于加载纹理的 .dds
文件的文本加载器。然后我们使用 getHandler()
方法来获取用于加载 .obj
文件的 OBJ 加载器。最后我们加载了 .obj
文件并在成功后执行回调函数。
LoadingManager.getHandler()
方法是 LoadingManager
类的一部分,它返回用于指定URL的文件加载器函数,并用于加载多个资源。它可以帮助你在不同扩展名下使用不同的加载器来加载资源。它对资源加载过程的管理非常适用,并且帮助你更好地了解模型的加载情况。