我正在尝试使用promises在THREE.JS
中加载纹理,但我不知道该怎么做。我已经看到它们是如何工作的,但有什么例子吗?
我正在尝试在立方体网格中加载图片(img.png
)。
我不想使用JSON。
答案 0 :(得分:2)
来自THREE.js的 THREE.ImageUtils.loadTexture 的源代码:
innerHTML
所以你可以将它包装在一个返回Promise的自定义函数中(这是ES6语法):
<p [innerHTML]="post.content"></p>
答案 1 :(得分:0)
我使用THREE.TextureLoader
并将其包装在Promise中,如下所示:
// Wrapper function that returns a Promise that resolves to a texture instance
function loadTexture(url) {
return new Promise(resolve => {
new THREE.TextureLoader().load(url, resolve)
})
}
// How to use it
loadTexture('myTexture.jpg').then(texture => {
var geometry = new THREE.SphereBufferGeometry(500, 60, 40)
var material = new THREE.MeshBasicMaterial({ map: texture })
sphere = new THREE.Mesh(geometry, material)
scene.add(sphere)
})