javascript - 如何使用 Three.js 中的回调异步加载多个纹理?

标签 javascript three.js

使用回调加载单个纹理很容易,例如:

var loader = new THREE.TextureLoader();
var texture1 = loader.load("https://i.imgur.com/UiTMJzv.png", process);

//called only after texture1 is loaded
function process(){

}

问题是如何异步(而不是顺序)加载多个纹理,并且仅在所有纹理加载完毕后才调用处理函数?

最佳答案

您可以使用THREE.LoadingManager为此:

var manager = new THREE.LoadingManager( function() {

    // this onLoad callback is executed when both textures are loaded

} );

var loader = new THREE.TextureLoader( manager );
var texture1 = loader.load( 'texture1.png' );
var texture2 = loader.load( 'texture2.png' );

关于javascript - 如何使用 Three.js 中的回调异步加载多个纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51175803/

相关文章:

javascript - Ajax 发送数据但 php 没有收到它

javascript - 我怎么没有正确使用分号(javascript)?

javascript - 三个JS : How to remove vertices?

javascript - 在 Three.js 中更改子对象的世界位置

javascript - 使用mustache.js为静态网站的所有页面添加内容容器

javascript - Neo4j JavaScript 驱动程序(bolt)Cypher 通过 id 查询不起作用 => 错误 : Expected entity id to be an integral value

javascript - THREE.JSONLoader 加载外部JSON文件(不是模型)

javascript - 在不阻塞的情况下执行密集型 JavaScript 的最佳方法是什么?

javascript - 是否可以从字节数组而不是文件路径构造一个 THREE.Texture?

javascript - 函数表达式在渲染函数中的表现