【问题标题】:Uncaught TypeError: three__WEBPACK_IMPORTED_MODULE_2__.Float32Array is not a constructor未捕获的类型错误:三个__WEBPACK_IMPORTED_MODULE_2__.Float32Array 不是构造函数
【发布时间】:2021-05-27 02:39:56
【问题描述】:

由于某种原因,我收到以下代码的错误:

const parameters = {}
parameters.count = 1000



const generateGalaxy = () => {

    const geometry = new THREE.BufferGeometry()

    const positions = new THREE.Float32Array(parameters.count*3)



    for(let i=0; i < parameters.count; i++ ) {

        const i3 = i*3

        positions[i3] = Math.random()
        positions[i3 + 1] = Math.random()
        positions[i3 + 2] = Math.random()


    }

    geometry.setAttribute('position', new THREE.BufferAttribute(positions, 3))
}

generateGalaxy()

最让我困惑的部分是当我使用完全相同的步骤制作粒子时,我没有收到任何错误说 Float32Array 不是构造函数。有什么想法吗?

【问题讨论】:

    标签: arrays three.js


    【解决方案1】:

    THREE.Float32Array在three.js中不存在。

    将行改为:

    const positions = new Float32Array(parameters.count*3)
    

    ...该功能应该可以正常工作。

    【讨论】:

    • 不,我的意思是我写的,第一次使用它就成功了,我正在学习一个教程,我自己没有想到代码
    • @Coccinelle 我已经更新了我的答案。我从错误的方向看它。如果您发布的代码来自教程,则它要么有错字(并且不应该工作),要么添加了THREE.Float32Array = Float32Array,我们无法知道。
    • 是的,就是这样。感谢您的输入
    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多