使用以上代码后提示不能将类型“Float32Array”分配给类型“number”
时间: 2023-11-09 07:04:24 浏览: 34
这是因为在创建 `PointsMaterial` 时,`size` 参数期望的是一个 `number` 类型的值,而我们传入了一个 `Float32Array` 类型的数组。要解决这个问题,可以使用 `BufferAttribute` 类来创建一个包含随机大小的数组,并将其作为 `size` 属性传递给 `PointsMaterial`。
你可以参考以下代码进行修改:
```javascript
const pointSizeMin = 3;
const pointSizeMax = 7;
const pointSizes = new Float32Array(particleCount);
for (var i = 0; i < particleCount; i++) {
pointSizes[i] = Math.random() * (pointSizeMax - pointSizeMin) + pointSizeMin;
}
const sizeAttribute = new BufferAttribute(pointSizes, 1);
const pointsMaterial = new PointsMaterial({
color: "rgb(255, 255, 255)",
alphaMap: mapTexture,
transparent: true,
sizeAttenuation: false,
vertexColors: true,
size: sizeAttribute
});
```
在这段代码中,我们首先创建了一个 `Float32Array` 类型的数组 `pointSizes`,用于存储每个粒子的大小。然后我们通过循环和 `Math.random` 函数来随机设置每个粒子的大小,并将其存储在 `pointSizes` 数组中。
接下来,我们使用 `BufferAttribute` 类来创建一个新的属性数组 `sizeAttribute`,并将 `pointSizes` 数组作为参数传递给它。我们将 `sizeAttribute` 作为 `size` 属性传递给 `PointsMaterial`,以设置每个粒子的大小。
这样就可以解决不能将类型“Float32Array”分配给类型“number”的问题了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)